1

StackOverflow に関する質問の助けを借りて、カスタム タブ ビューを実装することができました。したがって、次のようなカスタムタブビューがあります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:id="@+id/TabLayout" 
android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:padding="5dip">

<ImageView android:id="@+id/TabImageView" android:layout_width="wrap_content"  android:layout_height="wrap_content"/>

<TextView android:id="@+id/TabTextView" android:text="Text" android:paddingTop="5dip"        android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

</LinearLayout>

次のように膨らませます

MainActivity.addTab(this, this.mTabHost,     this.mTabHost.newTabSpec("Tab1").setIndicator(prepareTabView("Smoker",     R.drawable.ic_smoker)), ( tabInfo = new TabInfo("Tab1", MainFragment.class, args)));

関数は次のようになります

private View prepareTabView(String text, int resId) {
    View view = LayoutInflater.from(this).inflate(R.layout.tab, null);
    ImageView iv = (ImageView) view.findViewById(R.id.TabImageView);
    TextView tv = (TextView) view.findViewById(R.id.TabTextView);
    iv.setImageResource(resId);
    tv.setText(text);
    return view;
}

次のように、Drawable リソースに対して定義されたスタイルがあります。

<selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/ic_smoker_green" /> <item android:drawable="@drawable/ic_smoker_red" /> </selector>

私の質問は、タブの状態に基づいてテキストの色を変更するにはどうすればよいですか?

4

1 に答える 1