我正在使用ActionBarSherlock在我的項目中,我正在顯示帶有自定義minWidth的3個動作按鈕。這裏是我的代碼:ActionButton minWidht在某些設備中被忽略
menu.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>
而我的風格
值/ 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="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或減少許多不同設備一致的空間,有沒有辦法以編程方式做到這一點?