12

現在、ActionbarSherlock の代わりに AppCompat を使用しようとしています。Android 4 以降のデバイスでは、通常の Actionbar と Holo テーマが使用されているため、問題は発生しません。

ICS アクションバー

ただし、Android の下位バージョンでは、Theme.AppCompat.Light を使用すると、この奇妙な外観が発生します。

標準 AppCompat アクションバー

アクションバーは白で、下に青い線があります。

Android Asset Studio のAndroid Action Bar Style Generatorを使用して、透明なアクションバーではなく固体のアクションバーを持つカスタム テーマを生成することで、これを修正できました。

スタイル ジェネレーターからのカスタム ドローアブルを使用した AppCompat

ActionbarSherlock を使用したときに取得した Actionbar と比較すると、それでもいささか醜いです。

アクションバーシャーロック

AppCompat アクションバーには、それ自体とアクティビティのコンテンツの間にこの非常にシャープな黒い線がありますが、ICS のストック アクションバーまたは ActionbarSherlock のアクションバーは、アクションバーからレイアウトへの移行がよりソフトです。

Android 4+ のアクションバーのように見えるようにスタイルを設定するにはどうすればよいですか?

4

4 に答える 4

18

背景に配置したい画像で独自のスタイルを作成する必要があります。style.xml で、次のようなものを作成する必要があります。

値/styles.xml

    <style name="Theme.MyAppTheme" parent="@style/Theme.AppCompat.Light">
        <item name="actionBarStyle">@style/ActionBarTabStyle.MyAppTheme</item>
    </style>

    <style name="ActionBar.Solid.MyAppTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
        <item name="background">@drawable/your_background_image</item>
    </style>

値-v14/styles.xml

    <style name="Theme.MyAppTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/ActionBarTabStyle.MyAppTheme</item>
    </style>

    <style name="ActionBar.Solid.MyAppTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
        <item name="android:background">@drawable/your_background_image</item>
    </style>

この 9 パッチ イメージを使用できます。

9パッチ画像

于 2013-10-19T09:34:49.853 に答える
3

私はこのコードを使用します:

<resources>

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="actionBarStyle">@style/ActionBarTheme</item>
</style>

<style name="ActionBarTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="background">@color/red_action_bar</item>
</style>

</resources>

このコードが大いに役立つことを願っています。

于 2015-06-19T12:23:53.250 に答える
1

アクションバーのテーマをオーバーライドする必要があります

于 2013-10-19T11:49:39.510 に答える
0

AppCompatActivityでカスタム アイコンと色を表示するには、次のコードを貼り付けます。

値/styles.xml

<resources>

 <style name="Theme.MyAppTheme" parent="@style/Theme.AppCompat">
    <item name="actionBarStyle">@style/ActionBar.Solid.MyAppTheme</item>
    <item name="icon">@drawable/ic_launcher</item>
</style>

<style name="ActionBar.Solid.MyAppTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="background">@color/white</item>
</style>

値-v14/styles.xml

<resources>

<style name="Theme.MyAppTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/ActionBar.Solid.MyAppTheme</item>
       <item name="icon">@drawable/ic_launcher</item>
</style>

<style name="ActionBar.Solid.MyAppTheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="android:background">@color/app_titile_bar_color</item>
</style>

@drawable/your_pic.png からカスタム背景画像を使用することもできます

アプリのアイコンとテキストを表示するには、これをアクティビティに貼り付けます。

        // set action Bar icon & Text
    ActionBar mActionBar = getSupportActionBar();
    mActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE
            | ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME);
于 2015-10-04T12:42:44.497 に答える