TabLayout选项卡内的文本不居中

时间:2017-01-18 19:56:09

标签: android android-tablayout

我正在使用TabLayout。我希望TabLayout填充全屏宽度,所以我添加了public XuriNotification() { InitializeComponent(); var desktopWorkingArea = System.Windows.SystemParameters.WorkArea; this.Left = desktopWorkingArea.Right - this.Width; this.Top = desktopWorkingArea.Bottom - this.Height; System.Threading.Thread.Sleep(2000); System.Windows.Forms.Application.Exit(); } 。我的问题是现在标签文本不居中。这是一个截图:

Please see pink bar under Tab one

TabLayout的代码如下:

app:tabGravity="fill"

我见过很多问题,但没有一个能解决我的问题。任何帮助都非常感谢。有关详细信息,我想告诉我正在尝试this example。设备在Android 2.3.6(API 10)上运行。屏幕是320x240。

6 个答案:

答案 0 :(得分:2)

就像这样:-

       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       app:tabMaxWidth="0dp"
       app:tabGravity="fill"

答案 1 :(得分:1)

用它来调整文字:

android:gravity="center" OR android:textAlignment="center"

您应该创建一个自定义选项卡..您正在使用tabLayout的这些属性,这将无法工作...您在上面提供的示例链接使用名为custom_tab.xml的文件。用它来定义textView并将这些属性放在其中。

答案 2 :(得分:0)

将此添加到xml布局android:gravity="center"

您可以参考此处了解更多详情

http://joshclemm.com/blog/?p=136

答案 3 :(得分:0)

默认情况下,如果您没有覆盖另一种不居中的样式,则文本应该是中心。

如果您确定Gravity="center"不起作用,您也可以将自定义布局作为标签背景。因此,您可以创建一个相对布局,其中心位于textView。 (通过这种方式,您可以自由地将所需的布局作为标签项目),所以请随意。

TabLayout tabLayout = (TabLayout)findViewById(R.id.tab_layout);
tabLayout.getTabAt(postion).setCustomView(resourceId);

希望对你有所帮助。

答案 4 :(得分:0)

奇怪的是,Android Studio中的预览显示标签标签居中,但在设备上它们是左对齐的。

正如其他答案所暗示的那样,使用自定义视图是控制布局的好方法。

使用标识为layout/view_tab_label.xml的{​​{1}}创建布局文件TextView,这样您仍然可以在@android:id/text1中指定标​​签文字:

TabItem

从标签项(每个<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="match_parent" android:textColor="@color/tab_label" android:gravity="center"/> 中的android:layout属性)引用此布局:

TabItem

创建颜色资源文件<android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="match_parent" app:tabIndicatorColor="@color/selected_tab" app:tabBackground="@color/tab_background"> <android.support.design.widget.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout="@layout/view_tab_label" android:text="@string/tab_1_title" /> <android.support.design.widget.TabItem android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout="@layout/view_tab_label" android:text="@string/tab_2_title" /> </android.support.design.widget.TabLayout>

color/tab_label.xml

答案 5 :(得分:0)

我的问题是TextView不在布局内部居中。不是文字本身

所以。在TextView中。

android:layout_gravity="center"