6

1.5 フレームワークを対象とし、デフォルトのライト テーマを使用するアプリケーションがあります。このテーマでタブ ウィジェットを使用すると、タブの画像はほとんど見えず、現在アクティブなタブを除いて、タブのキャプションを識別することはまったく不可能です。

デフォルトの暗いテーマでは、これらのタブは非常に明確に表示されますが、これは私が満足できる解決策ではありません. 明るいテーマで見やすくするためにタブウィジェットを設定する簡単な設定はありますか、それとも画像とテキストスタイルを手動で改ざんする必要がありますか?

4

4 に答える 4

10

きれいではありませんが、タブアクティビティでこれを試すことができます。

// light theme support
final TabHost tabHost = getTabHost();
tabHost.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);

// hack to set font size
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);

// first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);

// second tab
RelativeLayout rlrf = (RelativeLayout) tw.getChildAt(1);
rf = (TextView) rlrf.getChildAt(1);
rf.setTextSize(21);
rf.setPadding(0, 0, 0, 6);

/res/values/colors.xml には

<resources>
    <drawable name="black">#ff000000</drawable>
    <drawable name="white">#ffffffff</drawable>
</resources>

AndroidManiest.xml には

<application android:theme="@android:style/Theme.Light">

もっとクレイジーなことをしたい場合は、http: //ezmobile.wordpress.com/2009/02/02/customized-android-tabs/ を試してください。

于 2009-12-19T07:46:40.857 に答える
2

これはバグです。イシュー トラッカーで報告してもらえますか?

私の知る限り、テキストと画像のスタイルをカスタマイズする回避策は正しいように思えます。

また、2.0 のタブ ウィジェットにはライト スタイルがないように見えることも注目に値します。

于 2009-12-15T20:50:16.930 に答える
2

レイアウトの色/コントラストの問題を解決する非常に簡単な方法:

<TabWidget
   android:id="@android:id/tabs"
   android:background="#FF000000"
   android:padding="2dp"

これにより、TabWidget の背景が黒に設定され、少しパディングが追加されるため、黒の背景に対してタブとのコントラストが得られます。完璧ではありませんが、1.5、2.2、明るいテーマと暗いテーマで動作します。

于 2011-05-06T20:43:01.777 に答える
2

hierarchyviewer ツールを使用して、タブ内の textview の Android ID を見つけました。テキストのプロパティ (色を含む) を変更するより良い方法は、次のようにすることです...

TabWidget tw = (TabWidget)tabHost.findViewById(android.R.id.tabs);
View tabView = tw.getChildTabViewAt(0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);
于 2010-12-28T06:42:46.160 に答える