0

アプリに次の ActionBar タブがあります。アプリに合わせて色を変更する最良の方法は何だろうと思っていました。

ここに画像の説明を入力

  1. 各タブには、コンテンツの背景が異なります。タブごとに個別の背景色を追加するにはどうすればよいですか?
  2. 水色のストリップの色を白に変更して 3D の外観にするにはどうすればよいですか?

次のコードを見ました。

ActionBar ab = getActionBar();
//ab.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff")));

しかし、その行はすべてのタブの色を 1 つの色に変更します。

私のアプリのタブコードは次のとおりです。

ActionBar ab = getActionBar();
        //ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff"))); not changing the tab color
        //ab.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff")));
        ab.setNavigationMode( ActionBar.NAVIGATION_MODE_TABS );

        Tab tab = ab.newTab()
                .setText( "TY1" )
                .setTabListener( 
                        new MyTabListener( this, TY1.class.getName() ) );
        ab.addTab( tab );

        tab = ab.newTab()
                .setText( "TY2" )
                .setTabListener( 
                        new MyTabListener( this, TY2.class.getName() ) );
        ab.addTab( tab );

        tab = ab.newTab()
                .setText( "ty3" )
                .setTabListener( 
                        new MyTabListener( this, TY3.class.getName() ) );
        ab.addTab( tab );

ありとあらゆる助けをいただければ幸いです。誰かが私を正しい方向に向ければ、XML も使用できます。

4

3 に答える 3

1

次のようにカスタム スタイルを定義することで、ActionBar の背景色を変更できます。

<resources>
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>
    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">ANY_HEX_COLOR_CODE</item>
    </style>
</resources>

に行く: http://jgilfelt.github.io/android-actionbarstylegenerator/#name=example&compat=holo&theme=light&actionbarstyle=solid&texture=0&hairline=0&backColor=E4E4E4%2C100&secondaryColor=D6D6D6%2C100&tabColor=33B5E5%2C100&tertiaryColor=F2F2F2%2C100&B5E%3Color3 2C100&cabBackColor=FFFFFF%2C100&cabHighlightColor=33B5E5%2C100

アクションバーを作成してダウンロードします。ダウンロード後、プロジェクトで使用できます。

于 2013-08-02T15:03:58.123 に答える