我有一个布局如下的tabhost。
https://drive.google.com/file/d/0B8nQOFcSOOboNkRFV091VVhzanc/view?usp=sharing(很抱歉,我无法作为新用户发布照片)
我需要为所选选项卡设置浅蓝色边框。如何使所选选项卡具有浅蓝色边框?
请帮帮我,谢谢。
首先,您需要制作一个9补丁的PNG,其边界线位于底部。我所知道的最快的方法是:http://romannurik.github.io/AndroidAssetStudio/nine-patches.html
然后,您可以在可绘制的文件夹上制作一个选择器xml,如下所示tabs_backgrounds.xml:
<!-- Non focused states -->
<item android:drawable="@color/xlight_grey" android:state_focused="false" android:state_pressed="false" android:state_selected="false"/>
<item android:drawable="@color/white_back" android:state_focused="false" android:state_pressed="false" android:state_selected="true"/>
<!-- Focused states -->
<item android:drawable="@color/xlight_grey" android:state_focused="true" android:state_pressed="false" android:state_selected="false"/>
<item android:drawable="@color/white_back" android:state_focused="true" android:state_pressed="false" android:state_selected="true"/>
<!-- Pressed -->
<!-- Non focused states -->
<item android:drawable="@color/light_grey_color" android:state_focused="false" android:state_pressed="true" android:state_selected="false"/>
<item android:drawable="@color/light_grey_color" android:state_focused="false" android:state_pressed="true" android:state_selected="true"/>
<!-- Focused states -->
<item android:drawable="@color/xlight_grey" android:state_focused="true" android:state_pressed="true" android:state_selected="false"/>
<item android:drawable="@color/light_grey_color" android:state_focused="true" android:state_pressed="true" android:state_selected="true"/>
对我来说,我只是使用了@color中已经定义的简单颜色,但这并不重要,你可以使用@drawable中的任何图片,也可以使用@color的颜色。或者在你的情况下,你应该在底部制作带有边框的9补丁。
然后你需要在你的@style上定义一个标签样式,如下所示:
<style name="ThemeTabs" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle.Myactionbar</item>
</style>
<style name="ActionBarTabStyle.Myactionbar" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
<item name="android:background">@drawable/tabs_backgrounds</item>
</style>
在manifest.xml上,您只需为具有选项卡的活动添加此主题。类似这样的东西:
<activity
....
android:theme="@style/ThemeTabs"
.... >
</activity>
我发现这是自定义选项卡的最佳方式,你可以为每个状态选择一种颜色或可绘制的(聚焦,点击…)
我希望这能有所帮助:)