2016-10-06 5 views
1

Я использую Viewpager для просмотра вкладок. Но мой viewpager перекрывает верхнюю часть фрагмента, из-за которой вершина всех фикций не видна. Добавление прописной буквы вверху делает работу, но есть ли лучший способ сделать это, а не давать прописку на следующем представлении.Просмотр пейджера перекрывает фрагменты вкладки по вертикали

Layout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context=".Activity.MainActivity"> 

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

    <android.support.design.widget.TabLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/tabs"> 
    </android.support.design.widget.TabLayout> 

</android.support.design.widget.AppBarLayout> 


<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:background="#ffffff"> 

</android.support.v4.view.ViewPager> 

</RelativeLayout> 

активность

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // ActionBar 

    final ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDefaultDisplayHomeAsUpEnabled(true); 


    // ViewPage: Slider that helps to create a page that we can swipe 
    PagerAdapter pagerAdapter = new TabPagerAdapter(getSupportFragmentManager()); 
    ViewPager tab = (ViewPager) findViewById(R.id.pager); 

    tab.setAdapter(pagerAdapter); 

    //Tablayout : Shows the tab bar that helps to find the ViewPager page 
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setupWithViewPager(tab); 

} 
+0

Я предполагаю, что вы не показываете весь XML. на какой макет у вас есть? вы можете просто поместить их в линейную компоновку. –

+0

Относительная компоновка –

+0

@SaprativeJana проверить мой ответ. Надеюсь, он решил вашу проблему. –

ответ

0

Вы использовали Relative Layout и не определен андроида: layout_below = "@ идентификатор/appbar_layout". Поэтому я отредактировал ваш код. Просто скопируйте и вставьте под кодом в свой XML-файл. Это решит вашу проблему.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
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:id="@+id/appbar_layout" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.design.widget.TabLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/tabs"> 
    </android.support.design.widget.TabLayout> 

</android.support.design.widget.AppBarLayout> 


<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/appbar_layout" 
    android:orientation="vertical" 
    android:background="#ffffff"> 

</android.support.v4.view.ViewPager> 

</RelativeLayout> 
+0

Я попробовал. но это не имеет никакого значения. –

+0

@SaprativeJana Я отредактировал свой ответ с помощью xml-кода. –

1

Надеется, что это может помочь вам ..

<LinearLayout 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:orientation="vertical"> 

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/coordinator" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

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

     <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" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tablayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="?attr/colorPrimary" 
      app:tabGravity="fill" /> 

    </android.support.design.widget.AppBarLayout> 

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

Смежные вопросы