Android:Tabstyle
作者:互联网
我一直试图制作一个看起来像这样的tabstyle.但到目前为止它不起作用
有人可以帮我弄这个吗..
http://www.technobuzz.net/wp-content/uploads/2010/02/seesmic-android-260-208.png
样式仅显示颜色选中时.当我使用白色图标时,文本(文本setindicator)为白色.这也适用于灰色图标.
当图标颜色为白色时,setindicator中的文本也是白色..我该如何解决这个问题.
提前致谢!
Main.java
intent = new Intent().setClass(this, Settings.class);
spec = tabHost.newTabSpec("settings").setIndicator("Settings",
res.getDrawable(R.drawable.tab_settings))
.setContent(intent);
tabHost.addTab(spec);
TabWidget tw = getTabWidget();
for (int i = 0; i < tw.getChildCount(); i++) {
View v = tw.getChildAt(i);
v.setBackgroundDrawable(getResources().getDrawable
(R.drawable.custom_tab));
}
tab_settings
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- PRESSED TAB -->
<item
android:state_pressed="true"
android:drawable="@drawable/artists_on"
android:color="#bfbfbf"
/>
<!-- INACTIVE TABS -->
<item
android:state_selected="false"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/artists_of"
/>
<!-- ACTIVE TAB -->
<item
android:state_selected="true"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/artists_of"
/>
<!-- SELECTED TAB -->
<item
android:state_focused="true"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/artists_on"
/>
custom_tab.xml选项卡样式…
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="#ea9d32"
android:endColor="#ffcc50"
android:angle="270" />
</shape>
</item>
<!-- WHEN SELECTED --> <!-- HOW CAN I SAID WHEN NOT SELECTED? -->
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="#ffcc50"
android:startColor="#ffcc50"
android:angle="270" />
</shape>
</item>
<item android:state_focused="false" >
<shape>
<gradient
android:endColor="#ffffff"
android:startColor="#AAAAAA"
android:angle="270" />
<stroke
android:width="1px"
android:color="#000000" />
</shape>
</item>
</selector>
解决方法:
选项卡背景有四种状态 – 几乎所有这些状态:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item <!-- PRESSED TAB -->
android:state_pressed="true"
android:drawable="@drawable/minitab_pressed"
/>
<item <!-- INACTIVE TABS -->
android:state_selected="false"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/minitab_unselected"
/>
<item <!-- ACTIVE TAB -->
android:state_selected="true"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/minitab_default"
/>
<item <!-- SELECTED TAB -->
android:state_focused="true"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/minitab_selected"
/>
</selector>
对于文本颜色,您还需要创建一个选择器并将此drawable指定为textColor:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@color/white" />
<item android:state_focused="true" android:color="@color/white" />
<item android:state_pressed="true" android:color="@color/white" />
<item android:color="#bfbfbf" />
</selector>
标签:android,xml,tabs,colors,tabwidget 来源: https://codeday.me/bug/20190705/1383104.html