Android 从代码中设置tabwidget背景时,tabwidget中的tabwidget divder是否消失?

Android 从代码中设置tabwidget背景时,tabwidget中的tabwidget divder是否消失?,android,android-tabhost,tabwidget,divider,Android,Android Tabhost,Tabwidget,Divider,tabWidget中的分隔器工作正常,但当tab widget的背景设置为 tabHost.getTabWidget().getChildTabViewAt(tabId).setBackgroundResource(R.drawable.tab_indicator); 问题是如何在设置背景后在选项卡小部件中设置分隔符 虽然我曾经 tabhost.getTabWidget().setDividerDrawable(R.drawable.tab_widget_divider); is不适用于多个

tabWidget中的分隔器工作正常,但当tab widget的背景设置为

tabHost.getTabWidget().getChildTabViewAt(tabId).setBackgroundResource(R.drawable.tab_indicator);
问题是如何在设置背景后在选项卡小部件中设置分隔符 虽然我曾经

tabhost.getTabWidget().setDividerDrawable(R.drawable.tab_widget_divider);

is不适用于多个选项卡。

分隔符不显示可能有多个原因

1。在将选项卡添加到tabHost之前,必须使用setDividerDrawable()。

2。默认情况下,每个tabindicator的视图都设置了-2(左)和-2(右)页边距…

默认情况下,系统为tabWidget背景使用9-patch可绘制图形,左右两侧至少有2个像素为透明(或半透明,用于阴影效果)

一,。示范


二,。为tab窗口小部件后台储存9路径可绘制文件。你可以用这些来做实验


如果您不想使用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);
    }
View v;
int count=tw.getTabCount();
for(int i=0;i
分隔符未显示可能有多种原因

1。在将选项卡添加到tabHost之前,必须使用setDividerDrawable()。

2。默认情况下,每个tabindicator的视图都设置了-2(左)和-2(右)页边距…

默认情况下,系统为tabWidget背景使用9-patch可绘制图形,左右两侧至少有2个像素为透明(或半透明,用于阴影效果)

一,。示范


二,。为tab窗口小部件后台储存9路径可绘制文件。你可以用这些来做实验


如果您不想使用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);
    }
View v;
int count=tw.getTabCount();
for(int i=0;i