2017-03-22 136 views
1

enter image description here在標籤佈局

大家好增加標籤的寬度,

我在Android材料設計工作。

當我向我的適配器添加模式選項卡時,文本變形分成兩個位置,如圖所示。 我的代碼:

private void setupViewPager(ViewPager viewPager) { 
     Adapter adapter = new Adapter(getSupportFragmentManager()); 
     adapter.addFragment(new ListContentFragment(), "Home"); 
     adapter.addFragment(new TileContentFragment(), "Screen 1"); 
     adapter.addFragment(new CardContentFragment(), "Screen 2"); 
     adapter.addFragment(new ListContentFragment(), "Screen 3"); 
     adapter.addFragment(new TileContentFragment(), "Screen 4"); 
     adapter.addFragment(new CardContentFragment(), "Screen 5"); 


     viewPager.setAdapter(adapter); 
    } 

我的XML

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

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

     <android.support.design.widget.AppBarLayout 
      android:id="@+id/appbar" 
      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/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       /> 
     </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.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right|bottom" 
      android:layout_marginBottom="@dimen/md_keylines" 
      android:layout_marginRight="@dimen/md_keylines" 
      app:srcCompat="@drawable/ic_add" 
      android:tint="@color/white"/> 
    </android.support.design.widget.CoordinatorLayout> 
    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/navheader" 
     app:menu="@menu/menu_navigation" /> 
</android.support.v4.widget.DrawerLayout> 

如何增加標籤的寬度,以便確保6that首頁,屏幕1,屏幕2等進來單行I,E與更多的寬度,而不是兩行?

+0

將tabMode設置爲可滾動並嘗試。 –

+0

在這裏也發佈你的xml –

+0

我也發佈了我的XML。 – Pra

回答

4

套裝應用程序:tabMode = 「滾動」 爲android.support.design.widget.TabLayout佈局文件中

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

謝謝。當我們從主屏幕導航到屏幕1時,如何更改選項卡顏色等等?假設我在屏幕上顯示兩部分時,我希望一切都變成橙色。我怎樣才能做到這一點? – Pra

+0

你需要改變主題 – xbadal

+0

謝謝。我應該動態設置它嗎? – Pra

2

通過編程設置

 tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 
     tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); 

OR

XML

  app:tabGravity="fill" 
      app:tabMode="scrollable" 

請注意,如果它不符合您的要求

+0

我還需要以下內容: 當我從家中導航到屏幕1或從屏幕1導航到屏幕2時更改顏色或主題。我該怎麼做?你能指點我一個例子 – Pra

+1

應用程序:tabGravity =「填充」不適用於應用程序:tabMode =「可滾動」.i只適用於應用程序:tabMode =「固定」 –