不同尺寸的款式

时间:2014-03-17 06:28:46

标签: java android

我有一个问题,考虑在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>

2 个答案:

答案 0 :(得分:1)

如果我愿意&#34;延伸&#34;这个默认样式为sw800dp并且只改变一个参数(android:paddingBottom)?我应该只写参数吗?还是所有数据? (当然是在values-sw600dp / styles.xml文件中)


你必须将所有属性复制到values-sw600dp / styles.xml。

但是,您可以在values/styles.xmlvalues/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

文件夹结构如下所示: -

  • 值/
    • styles.xml
    • dimens.xml
  • 值-sw600dp /
    • dimens.xml
  • 值-sw720dp /
    • dimens.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>