2015-10-25 4 views
-1

Итак, я создаю приложение для дизайна материалов для Android. Я использую новую панель инструментов вместо использования ActionBar. В одном действии я хочу отображать вкладки под панелью инструментов. Это работает как для портретного, так и для ландшафтного режима, но в ландшафтном режиме вкладки центрированы и не покрывают всю ширину представления.Размер вкладок панели инструментов Android в ландшафтном режиме

Это по дизайну или есть что-то, что мне нужно знать?

Это макет для моей деятельности:

<android.support.design.widget.AppBarLayout 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:height="?attr/actionBarSize" 
     android:background="@color/primary" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:titleTextAppearance="@style/ToolbarTitle" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 
    </android.support.v7.widget.Toolbar> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/toolbar_tabs" 
     android:height="?attr/actionBarSize" 
     android:background="@color/primary" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_scrollFlags="scroll|enterAlways" /> 

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

Следующий код это в onCreate:

// Set up the toolbar 
this.setSupportActionBar(mToolbar); 
ActionBar ab = this.getSupportActionBar(); 
if (ab != null) 
{ 
    ab.setDisplayHomeAsUpEnabled(true); 
    ab.setHomeButtonEnabled(true); 
    ab.setDisplayShowTitleEnabled(true); 
} 

// Set up the pager and tabs from the pager 
mTabViewPager.setAdapter(mTabPagerAdapter); 
mTabLayout.setupWithViewPager(mTabViewPager); 

mTabPagerAdapter является пейджером адаптер, который содержит страницы, которые будут показаны на вкладках как показано в документах.

+0

Почему downvote? –

ответ

4

Вы можете использовать app:tabGravity="fill" для соответствия ширине на весь экран.

<android.support.design.widget.TabLayout 
       android:id="@+id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:tabGravity="fill" 
       app:tabIndicatorColor="@color/white" 
       app:tabMode="fixed" 
       app:tabMaxWidth="0dp" 
       app:tabSelectedTextColor="@color/white" 
       app:tabTextColor="@color/white_dim" />` 

Meterial design Tab layout detailed tutorial

+0

Perfect - так просто. Спасибо! –

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