当我使用视图作为tabSpec指示符时,选择或不选择选项卡时视图是相同的。
有没有办法使用不同的视图,例如当我们为所选标签使用不同的drawable(选择器)时?
我已经尝试过使用选择器,但它只允许更改图标。我想要的是使用自定义视图,仍然可以为不同的选项卡状态使用不同的视图。
这是我的代码:
View profilInd = getLayoutInflater().inflate(R.layout.tabs_profil_layout, null);
Intent profilIntent = new Intent(this, MyProfilActivity.class);
tabHost.addTab(tabHost.newTabSpec("profil").setIndicator(profilInd).setContent(profilIntent));
tabs_profil_layout布局是一个带有ImageView和TextView的简单LinearLayout。
答案 0 :(得分:2)
您要做的是在view / drawable中使用一个选择器,它将在所选状态和未选择状态之间切换。
此问题涵盖了一些类似主题:Android : Customizing tabs on state : How do I make a selector a drawable
基本上你会创建一个类似于这样的可绘制资源:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
然后您将分配给选项卡。
您可以详细了解选择器和Drawable here.