2012-05-17 65 views
0

当我使用视图作为标签规格标签时,视图与选择标签时相同。Android:使用不同的标签和标签状态视图

有什么办法可以使用不同的视图,就像我们对选定的选项卡使用不同的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布局是一个简单的LinearLayout用的ImageView和一个TextView。

+0

[这个答案包含这两个州的例子,看看这个(http://stackoverflow.com/a/6992662/593709) –

回答

2

你想要做的是在你的视图/绘图中使用一个选择器,它将在选定状态和未选择状态之间变化。

这个问题涉及一些类似的主题: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> 

,您将然后分配到标签。

您可以了解更多关于选择和绘制对象here.

+0

嗨,想为你回答。 我终于做到了这一点: - 我创建了两个背景PNG文件的选择器。 - 我创建了一个我用作选项卡指示器的视图(上面的java代码没有改变)。在这个视图中,我有一个使用选择器作为背景的LinearLayout。 – KLiFF

+0

听起来很正确 – mtmurdock