我有一个问题,考虑在android中扩展样式:
<style name="SomeStyleName" parent="@android:style/DeviceDefault.SegmentedButton">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:weightSum">2</item>
<item name="android:dividerPadding">8dip</item>
<item name="android:paddingTop">0dip</item>
<item name="android:paddingBottom">0dip</item>
<item name="android:paddingLeft">0dip</item>
<item name="android:paddingRight">0dip</item>
</style>
如果我愿意&#34;延伸&#34;这个默认样式为sw800dp并且只改变一个参数(android:paddingBottom)? 我应该只写参数吗?还是所有数据? (当然是在values-sw600dp / styles.xml文件中)
有点像?:
<style name="SomeStyleName" >
<item name="android:paddingBottom">33dip</item>
</style>
答案 0 :(得分:1)
如果我愿意&#34;延伸&#34;这个默认样式为sw800dp并且只改变一个参数(android:paddingBottom)?我应该只写参数吗?还是所有数据? (当然是在values-sw600dp / styles.xml文件中)
你必须将所有属性复制到values-sw600dp / styles.xml。
但是,您可以在values/styles.xml
,values/dimens.xml
的帮助下使用values-sw600dp/dimens.xml
用于所有屏幕分辨率...并为padding_bottom添加维度。
在不同值文件夹中的所有dimens.xml中,使用此维度而不是硬编码例如。 android:paddingBottom="@dimen/padding_bottom"
values/styles.xml
所以你的values / styles.xml看起来像这样: -
<style name="SomeStyleName" parent="@android:style/DeviceDefault.SegmentedButton">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:weightSum">2</item>
<item name="android:dividerPadding">8dip</item>
<item name="android:paddingTop">0dip</item>
<item name="android:paddingBottom">@dimen/padding_bottom</item>
<item name="android:paddingLeft">0dip</item>
<item name="android:paddingRight">0dip</item>
<强>值/ dimens.xml 强>
<dimen name="padding_bottom">0dp</dimen>
<强>值-sw600dp / dimens.xml 强>
<dimen name="padding_bottom">33dip</dimen>
因此无需创建values-sw600dp/styles.xml
文件夹结构如下所示: -
答案 1 :(得分:0)
您可以在values文件夹中使用dimens.xml 并重新定义值 - sw600dp和其他
中所需的维度 例如,你的主要dimens.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
sw800dp的dimens.xml
<resources>
<dimen name="activity_horizontal_margin">32dp</dimen>
</resources>