5

IceCreamSandwichアプリでTabHost/TabWidgetの減価償却済みライブラリを使用しています。ActionBarSherlockに慣れる時間がないので、私が知っている唯一の方法でアプリにアクセスする必要がありました。

選択したタブの色の変更から背景色や画像まで、TabWidgetとそのTabオブジェクトのスタイルを設定する方法を知りたいですか?標準のスタイルとテーマを使用しても機能しないようです。

4

1 に答える 1

8

非推奨のライブラリがいつものように機能すると仮定すると、これは私がタブに色を付けるために使用した手順です。xmlで直接アクセスできなかったため、コードで背景を次のように設定しました。

 TabWidget tabs = (TabWidget)getTabWidget();            
        for (int i = 0; i<tabs.getChildCount(); i++) {
            RelativeLayout tab = (RelativeLayout) tabs.getChildAt(i);
            tab.setBackgroundDrawable(this.getResources().getDrawable(R.drawable.tabindicator));

描画可能なタブインジケータは次のとおりです。

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--  Non focused states --> 
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected" /> 
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected" /> 
<!--  Focused states  --> 
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_focus" /> 
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_focus" /> 
 <!--  Pressed  --> 
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_press" /> 
<item android:state_pressed="true" android:drawable="@drawable/tab_press" /> 
</selector>

ドローアブルは、標準の色を使用して同様の効果を得ることができる場合がありますが、色を使用した9パッチの画像でした。

于 2012-04-11T09:36:29.073 に答える