これを死ぬまで研究しましたが、答えが見つかりません。
AppCompat を使用した ActionBar があります。API v7 までサポートしています (API v8 で十分です)。ActionBar は API v11 から完全に動作します。API < v11 には、オーバーフローを提供せずに ActionBar からアイコン (および機能) を削除するという問題があります。全体像は、アプリのロゴ、アプリのタイトル、および 3 つのアイコンがすべてローエンドの電話の同じ ActionBar に押し込まれていることです。部屋を作ろうとしている!
2つのソリューションのうちの1つに満足しています。また:
- プルダウンから機能を取得できるようにオーバーフローを取得する方法。
- (推奨) ActionBar からアイコンとテキストを削除する方法
以下は、API 11+ の現在の XML です。
<resources>
<!--
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/LiteActionBarStyle</item>
<item name="actionBarStyle">@style/LiteActionBarStyle</item>
</style>
<style name="LiteActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:displayOptions"></item>
</style>
</resources>
具体的には:
<item name="android:displayOptions"></item>
これは、API v11 より前では使用できない属性です。
これは私がこれまでのところです:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/LiteActionBarStyle</item>
</style>
<style name="LiteActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"></style>
</resources>
v11 より前の API の代替手段は何ですか?
編集:
透明度の提案で更新されたスタイル:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/LiteActionBarStyle</item>
</style>
<style name="LiteActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:icon">@android:color/transparent</item>
</style>
</resources>