我在我的Android应用程序中使用tablayout,它会自动填充自定义选项卡并使用图标进行设置。由于空间不足,其中一个标签的文字被切断了。我必须使文本真的很小才能完全显示。这是我的tablayout的设置方式。
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
app:layout_scrollFlags="scroll|enterAlways"
android:layout_width="match_parent"
android:layout_height="@dimen/custom_tab_layout_height"
app:tabMode="fixed"
app:tabGravity="fill" />
自定义标签布局如下所示:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:gravity="center"
android:textSize="8dip"
android:textColor="#ffffff"
android:singleLine="true"/>
这是我设置标签文本和图标的代码:
TextView tabOne = (TextView)LayoutInflater.From(this).Inflate(Resource.Layout.custom_tab, null);
tabOne.Text = "Home";
tabOne.SetCompoundDrawablesWithIntrinsicBounds(0, Resource.Drawable.homewhite, 0, 0);
tabLayout.GetTabAt(0).SetCustomView(tabOne);
TextView tab2 = (TextView)LayoutInflater.From(this).Inflate(Resource.Layout.custom_tab, null);
tab2.Text = "Inbox";
tab2.SetCompoundDrawablesWithIntrinsicBounds(0, Resource.Drawable.messageWhite, 0, 0);
tabLayout.GetTabAt(1).SetCustomView(tab2);
TextView tab3 = (TextView)LayoutInflater.From(this).Inflate(Resource.Layout.custom_tab, null);
tab3.SetCompoundDrawablesWithIntrinsicBounds(0, Resource.Drawable.upload_icon, 0, 0);
tabLayout.GetTabAt(2).SetCustomView(tab3);
TextView tab4 = (TextView)LayoutInflater.From(this).Inflate(Resource.Layout.custom_tab, null);
tab4.Text = "Notification";
tab4.SetCompoundDrawablesWithIntrinsicBounds(0, Resource.Drawable.notifWhite, 0, 0);
tabLayout.GetTabAt(3).SetCustomView(tab4);
TextView tab5 = (TextView)LayoutInflater.From(this).Inflate(Resource.Layout.custom_tab, null);
tab5.Text = "Profile";
tab5.SetCompoundDrawablesWithIntrinsicBounds(0, Resource.Drawable.profWhite, 0, 0);
tabLayout.GetTabAt(4).SetCustomView(tab5);
如果我将文字设为大,那么tablayout就像这样
如何制作全文?如果我使tablayout可滚动,那么当我单击选项卡时它会向右和向左移动。 任何帮助表示赞赏。
答案 0 :(得分:1)
问题是没有足够的空间来显示文本。如果我是你,我会尽可能地减小中间按钮的大小,看看它是否给你足够的空间。最糟糕的情况你可以删除文本(图标非常简单)或使文字尺寸更小。
答案 1 :(得分:0)
即使值为零,也尝试使用填充,
app:tabPaddingStart="0dp"
app:tabPaddingEnd="0dp"
请检查此代码段,以解决我的问题。
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="@dimen/tablayout_height"
app:tabGravity="fill"
app:tabIndicatorHeight="0dp"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/black"
app:tabTextColor="@color/pure_white"
app:tabPaddingStart="0dp"
app:tabPaddingEnd="0dp"/>