我在我的项目中使用ActionBarSherlock,我正在显示 3 个带有自定义 minWidth 的操作按钮。这是我的代码:
菜单.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_item1" android:showAsAction="always"
android:title="@string/empty" android:icon="@drawable/item1_selector" />
<item android:id="@+id/menu_item2" android:showAsAction="always"
android:title="@string/empty" android:icon="@drawable/item2_selector" />
<item android:id="@+id/menu_item3" android:showAsAction="always"
android:title="@string/empty" android:icon="@drawable/item3_selector" />
</menu>
还有我的风格
值/样式.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="Theme.Sherlock.Light">
<item name="android:windowBackground">@android:color/white</item>
<item name="actionBarItemBackground">@color/White</item>
<item name="actionButtonStyle">@style/CustomActionButtonStyle</item>
</style>
<style name="CustomActionButtonStyle" parent="Widget.Sherlock.ActionButton">
<item name="android:minWidth">32dip</item>
<item name="android:padding">0dip</item>
</style>
</resources>
值-v14/styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="Theme.Sherlock.Light">
<item name="android:windowBackground">@android:color/white</item>
<item name="android:actionBarItemBackground">@color/White</item>
<item name="actionBarItemBackground">@color/White</item>
<item name="android:actionButtonStyle">@style/CustomActionButtonStyle</item>
<item name="actionButtonStyle">@style/CustomActionButtonStyle</item>
</style>
</resources>
此代码不适用于具有 android 4.1.2 (HDPI) 和 Galaxy S3 mini android 4.1.2 (HDPI) 的 Galaxy S2。在这些设备中,我的操作按钮似乎具有默认宽度(56dip),因此它们之间的空间看起来更大。但是,在具有相同 android 版本的 Galaxy S3 中,一切正常,样式已应用。我的代码也适用于具有不同 android 版本和屏幕密度的许多设备。
如何为许多不同的设备设置 minWidth 或一致地减少空间,有没有办法以编程方式做到这一点?