我有以下值文件夹(除默认值之外):values-sw400dp
,values-sw600dp
。因为我需要那么删除我的动作条图标之间的间距我使用的风格:values-sw600dp将不起作用
<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;
}
所以,问题是:为什么设备忽略价值观sw600dp文件夹样式?
UPDATE我刚刚将windowBackground项目添加到values-sw600dp中的样式。它显示正确。但为什么被忽略的actionBar的填充?设置负填充不会改变任何东西
尝试增加'<项目名= “机器人:paddingStart”> 0dip'和'<项目名= “机器人:paddingEnd”> 0dip'到'ActionBarTabStyle '。 – Vikram
家伙我使用普通的ActionBar而不是Sherlock。填充只对平板电脑没有影响。 paddingStart和paddingEnd不是TabView的可接受属性 – Droidman
是否需要填充图标或制表符? –