我需要为我的标签更改指标边框线,所以我执行以下操作:
//set custom background for each tab
View v;
int count = tabWidget.getTabCount();
for (int i = 0; i < count; i++) {
v = tabWidget.getChildTabViewAt(i);
v.setBackgroundResource(R.drawable.tab_selector_main);
v.setPadding(0, 0, 0, 0);
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
params.setMargins(-Utils.dpToPx(3, this), 0, -Utils.dpToPx(3, this), 0);
}
这是我的drawable,其中我设置了9个补丁
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:state_pressed="true"
android:drawable="@drawable/tab_selected_pressed_green" />
<item android:state_selected="true" android:state_pressed="false"
android:drawable="@drawable/tab_selected_unpressed_green" />
<item android:state_pressed="true"
android:drawable="@drawable/tab_unselected_pressed" />
<item android:drawable="@drawable/tab_unselected_unpressed"/>
</selector>
问题是,在那之后,默认分隔符消失了,并且标签之间存在一些差距。如何启用默认分隔符或设置我的?我谷歌很多,似乎没有什么帮助我。我使用4.0.4版本和fragmenttabhost与tabwidget。谢谢。
UPD:我发现我的9补丁中存在什么问题。我将颜色更改为透明,除了底部指示线和setDividerDrawable开始工作。但底部指标线之间仍有差距。
答案 0 :(得分:2)
您可以在XML布局中使用android:showDividers =“none”。
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:showDividers="none" />
答案 1 :(得分:0)
android:divider="@null" <-Works like a charm