我按以下方式设置了标签:
spec = tabHost.newTabSpec("tab1").setIndicator("Tab 1").setContent(intent);
tabHost.addTab(spec);
现在我有一个没有图标的标签,只有一个标题,但它只留下一个图标大小的空白区域,标题位于底部 - 我尝试调整xml中的layout_height,但文本消失了因为它低于截止点。
如何更改标签的大小,并在没有图标的情况下显示标题?
答案 0 :(得分:11)
答案很简单:你做不到。默认的android选项卡将始终为图像留出一些空白。 但您可以创建自己的选项卡以补偿默认选项卡中的“限制”。这是一个非常好的教程,可以创建自定义标签。
祝你好运, Arkde答案 1 :(得分:2)
更改TabWidget layout_height和xml中的重力对我有用。文本不在选项卡中居中,而是像以前一样沿着底部对齐。
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="40dp"
android:gravity="bottom" />
答案 2 :(得分:1)
从布局更改tabhost大小,并仅显示Tab Tile写代码,如下面的代码片段
tabhost=getTabHost();
intent = new Intent(this,MainActivity.class);
spec1 = tabhost.newTabSpec("").setIndicator("main_tab");
spec1.setContent(intent);
tabhost.addTab(spec1);
intent = new Intent(this,xyz.class);
spec2 = tabhost.newTabSpec("").setIndicator("first_tab");
spec2.setContent(intent);
tabhost.addTab(spec2);
答案 3 :(得分:0)
// Center text displayed on a first tab
View view = _tabHost.getTabWidget().getChildAt(0);
if (view != null) {
// Hide icon
View tabImage = view.findViewById(android.R.id.icon);
if (tabImage != null) {
tabImage.setVisibility(View.GONE);
}
// Find text
TextView tabTitle = (TextView) view.findViewById(android.R.id.title);
if (tabTitle != null) {
// Change text gravity
tabTitle.setGravity(Gravity.CENTER);
// Remove text view from it's parent and re-add back to reset layout parameters
ViewGroup parent = (ViewGroup) tabTitle.getParent();
parent.removeView(tabTitle);
parent.addView(tabTitle);
// New default layout parameters will have height set to WRAP_CONTENT, change it to MATCH_PARENT
ViewGroup.LayoutParams params = tabTitle.getLayoutParams();
params.height = ViewGroup.LayoutParams.MATCH_PARENT;
}
}