1

次の値フォルダーがあります (デフォルトのフォルダーに加えて): values-sw400dpvalues-sw600dp。actionBar アイコン間のスペースを削除する必要があるため、次のスタイルを使用しました。

     <style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:paddingLeft">0dp</item>
    <item name="android:paddingRight">0dp</item>
</style>

そして、styles.xml をすべての値フォルダーにコピーしました。4.1.1 を実行している SGS2 i9100 では正常に動作しますが、PocketBook タブレット (同じ Android バージョンを実行) では間隔がデフォルトのようです。次のメソッドは 600 を返します。

    public static int getScreenWidth(Activity a) {

    Display display = a.getWindowManager().getDefaultDisplay();
    DisplayMetrics outMetrics = new DisplayMetrics();
    display.getMetrics(outMetrics);

    float density = a.getResources().getDisplayMetrics().density;
    float dpWidth = outMetrics.widthPixels / density;

    return (int) dpWidth;

}

問題は、デバイスが values-sw600dp フォルダーのスタイルを無視するのはなぜですか?

更新 値-sw600dpのスタイルにwindowBackgroundアイテムを追加しました。正しく表示されます。しかし、actionBar のパディングが無視されるのはなぜですか? 負のパディングを設定しても何も変わりません

4

1 に答える 1