8

मैं डिज़ाइन समर्थन लाइब्रेरीटैब लागू करने के लिए उपयोग करने का प्रयास कर रहा हूं। मुद्दा यह है कि viewpager उपकरण पट्टी और tablayout overlaps जब मैं विशेषताव्यूपेजर समन्वयक लेआउट के अंदर स्क्रीन ओवरफ्लो

app:layout_behavior="@string/appbar_scrolling_view_behavior" 
viewpager की

को दूर है।

viewpager overlaps the toolbar and tablayout

और जब मैं विशेषता जोड़ने viewpager स्क्रीन overflows।

viewpager overflows the screen

मैं सिर्फ अंतरिक्ष tablayout के बाद छोड़ दिया और उपकरण पट्टी पर कब्जा और स्क्रीन अतिप्रवाह नहीं करने के लिए viewpager जरूरत है ...

यहाँ मेरी activity_main.xml है

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    > 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tablayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabGravity="fill" 
     app:tabMode="fixed" /> 
    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 
</android.support.design.widget.CoordinatorLayout> 

और यहां मेरा fragment_1.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_weight="1" 
android:orientation="vertical" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin"> 

    <TextView 
    android:id="@+id/tV_item1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="@dimen/activity_horizontal_margin" 
    android:gravity="center" 
    android:text="@string/tab1_q_persons" 
    android:textSize="20sp" 
    android:textStyle="bold" /> 

    <TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="0 people" 
    android:textSize="30sp" 
    android:textStyle="bold" /> 

    <ImageView 
    android:id="@+id/iV_plus" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

    <ImageView 
    android:id="@+id/iV_minus" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 


    <RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1"> 

    <Button 
     android:id="@+id/nextBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:layout_gravity="end" 
     android:background="@color/colorPrimary" 
     android:elevation="12dp" 
     android:text="@string/next" /> 

</RelativeLayout> 

</LinearLayout> 

किसी भी मदद की सराहना की होगी

उत्तर

0

तुम सच में AppBar लेआउट की जरूरत नहीं है, तो उसे निकालें।

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tablayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabGravity="fill" 
     app:tabMode="fixed" /> 

<android.support.v4.view.ViewPager 
    android:id="@+id/view_pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

इस कोड मेरे लिए ठीक काम करता है।

+1

मुझे लगता है कि मुझे ऐपबार लेआउट की आवश्यकता है अन्यथा ** टूलबार और टैबलेटआउट ovwelaps **। –

+0

एंड्रॉइड जोड़ें: layout_below = "@ + id/toolbar" अपने टैबलेआउट –

+0

पर आप मुझे बता सकते हैं कि ** Appbar ** लेआउट जोड़ने का वास्तविक उपयोग क्या है। मैंने पढ़ा है कि यह ** Linearlayout ** के समान था। –

1

मुझे पता है कि यह देर से लगता है। लेकिन मैं अपना जवाब भेजता हूं।

गतिविधि_main.xml में कोऑर्डिनेटर के बजाय रिलेवेटिवआउट का उपयोग करें और आप ऐपबार को हटा सकते हैं। CardView या scrollview बजाय LinearLayout की तरह एक और विजेट fragment_1.xml उपयोग में

Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(mToolbar); 

या आप विजेट की जगह के अंदर LinearLayout उपयोग कर सकते हैं: टूलबार AppBar के रूप में परिभाषित करने के लिए आप MainActivity.java में इस कोड का उपयोग कर सकते हैं।

activity_main.xml

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     android:layout_alignParentTop="true"/> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tablayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabGravity="fill" 
     app:tabMode="fixed" 
     android:layout_below="@id/toolbar"/> 

    <android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    android:layout_below="@id/tablayout" /> 

</RelativeLayout> 

fragment_1.xml

<android.support.v7.widget.CardView 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

<LinearLayout 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin"> 

     <TextView 
     android:id="@+id/tV_item1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="@dimen/activity_horizontal_margin" 
     android:gravity="center" 
     android:text="@string/tab1_q_persons" 
     android:textSize="20sp" 
     android:textStyle="bold" /> 

     <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="0 people" 
     android:textSize="30sp" 
     android:textStyle="bold" /> 

     <ImageView 
     android:id="@+id/iV_plus" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

     <ImageView 
     android:id="@+id/iV_minus" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 


     <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

     <Button 
      android:id="@+id/nextBtn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:layout_gravity="end" 
      android:background="@color/colorPrimary" 
      android:elevation="12dp" 
      android:text="@string/next" /> 

    </RelativeLayout> 

    </LinearLayout> 
</android.support.v7.widget.CardView> 

यह समाधान मेरे लिए एक ही समस्या को हल किया।

संबंधित मुद्दे