asi*_*ifa 0 android android-tabhost
我想将tabhost的默认蓝色更改为红色.
<style name="AppTheme" parent="android:Theme.Light.NoTitleBar">
<item name="android:tabWidgetStyle">@drawable/tab_indicator_holo</item>
</style>
Run Code Online (Sandbox Code Playgroud)
tab_indicator_holo.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_holo" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_holo" />
<!-- Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused_holo" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_focused_holo" />
<!-- Pressed -->
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" />
<!-- Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" />
</selector>
Run Code Online (Sandbox Code Playgroud)
但是标签样式不适用于tabhost.默认的蓝色不会更改为红色.
我得到了这个

请提出任何想法或建议.
你可能已经找到了答案,但对于那些可能面临同样问题的人来说,这就是我所做的.
转到自定义holo主题并将tabwedget设置为yes并选择首选颜色.
下载zip,复制到我的项目.
使用通过膨胀tab_indicator_holo创建的视图添加到tabadapter.
View mIndicator = inflater.inflate(R.layout.tab_indicator_holo, mTabHost.getTabWidget(), false);
TextView title1 = (TextView) mIndicator.findViewById(android.R.id.title);
title1.setText("TAB1");
mTabsAdapter.addTab(mTabHost.newTabSpec("TAB1").setIndicator( mIndicator), FRAGMENT1.class, null);
View mIndicator2 = inflater.inflate(R.layout.tab_indicator_holo, mTabHost.getTabWidget(), false);
TextView title2 = (TextView) mIndicator2.findViewById(android.R.id.title);
title2.setText("TAB2");
mTabsAdapter.addTab(mTabHost.newTabSpec("TAB2").setIndicator(mIndicator2), FRAGMENT2.class, null);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7021 次 |
| 最近记录: |