android – TabWidget – 如何设置指标文本的位置?
作者:互联网
我正在尝试在我的Android应用程序中使用TabHost和TabWidget.这是我的布局main.xml:
<TabHost
android:id="@+id/mainTabHost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="65px"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/contentTags"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/contentPreferences"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
</LinearLayout>
</FrameLayout>
</TabHost>
我的代码:
final TabHost mainTabHost = (TabHost) this.findViewById(R.id.mainTabHost);
mainTabHost.setup();
final TabHost.TabSpec tabSpecTags = mainTabHost.newTabSpec("tabTags");
tabSpecTags.setIndicator(this.getString(R.string.tab_name_tags));
tabSpecTags.setContent(R.id.contentTags);
mainTabHost.addTab(tabSpecTags);
final TabHost.TabSpec tabSpecPreferences = mainTabHost.newTabSpec("tabPreferences");
tabSpecPreferences.setIndicator(this.getString(R.string.tab_name_preferences));
tabSpecPreferences.setContent(R.id.contentPreferences);
mainTabHost.addTab(tabSpecPreferences);
问题是我不希望我的标签太高(65px).但是,如果我将TabWidget的layout_height设置为例如30px,我根本看不到标签上的标签标签(指示灯).
似乎TabWidget(65px?)有一个“最低要求”高度,指示器位于这个65px的底部?
有没有办法调整指标的位置?
谢谢!
解决方法:
However, if i set the layout_height of
the TabWidget to e.g. 30px, i can’t
see the tab labels (indicator) on the
tabs at all.
请注意,如果它们改变了TabHost的构造方式,那么在未来的Android版本中执行此操作的技术不一定是可靠的.
Is there a way to adjust the
positioning of the indicator?
从API Level 4(a.k.a.,Android 1.6)开始,TabHost.TabSpec通过setIndicator()
接受View作为指标.我没有尝试过,但它可以让您更好地控制单个选项卡指示器的布局.
标签:android,tabwidget 来源: https://codeday.me/bug/20190527/1159615.html