已经研究到死了,只是找不到答案。
我有一个使用 AppCompat 的 ActionBar。我最多支持 API v7(API v8 可以)。ActionBar 从 API v11 完美运行。API < v11 的问题是在不提供溢出的情况下从 ActionBar 中删除图标(因此也是一项功能)。大局是我有一个应用程序徽标、一个应用程序标题和 3 个图标,它们都挤进了低端手机上的同一个操作栏中。试图腾出一些空间!
我会对 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>