分隔符工作正常,但是当tab小部件的背景设置为
时tabHost.getTabWidget().getChildTabViewAt(tabId).setBackgroundResource(R.drawable.tab_indicator);
问题是如何在设置背景后在选项卡小部件中设置分隔符 虽然我用过
tabhost.getTabWidget().setDividerDrawable(R.drawable.tab_widget_divider);
不适用于多个标签页。
答案 0 :(得分:14)
分隔符可能有多种原因没有出现......
<强> 1。在将标签添加到tabHost工作之前,必须使用setDividerDrawable()。
<强> 2。默认情况下,每个tabindicator的视图设置为-2(左), - 2(右)边距...
默认情况下,系统使用9-patch drawables作为tabWidget背景,左侧和右侧至少有2个像素透明(或阴影效果为半透明)。
1。示范的
2。库存小部件背景的库存9路drawables。您可以使用它们进行实验
如果你不想使用9路抽象...... 您可以将边距设置为0,以防止标签视图与分隔线重叠。这是代码:
View v;
int count = tw.getTabCount();
for (int i = 0; i < count; i++) {
v = tw.getChildTabViewAt(i);
v.setBackgroundResource(R.drawable.bg_tab);
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
params.setMargins(0, 0, 0, 0);
}