在自定义样式中使用尺寸

时间:2013-10-15 19:27:18

标签: android android-styles

在Android中,我有以下内容:

dimens.xml

<dimen name="buttonMarginRL">10dp</dimen>
<dimen name="buttonMarginTB">5dp</dimen>

style.xml

<style name="my_button" parent="@android:style/Widget.Button">
    <item name="android:textSize">16sp</item>

    <item name="android:layout_marginLeft">@dimen/buttonMarginRL</item>
    <item name="android:layout_marginRight">@dimen/buttonMarginRL</item>
    <item name="android:layout_marginTop">@dimen/buttonMarginTB</item>
    <item name="android:layout_marginBottom">@dimen/buttonMarginTB</item>
</style>

我将其添加到按钮视图中:

someFragment.xml

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/button"
    style="@style/my_button" />

但是利润率没有得到应用。将 10dp 5dp 直接放入my_button样式时,它按预期工作。在Android中是否可以使用dimens.xml中指定的值在自定义样式中使用,或者维度值是否只能直接应用于视图?

1 个答案:

答案 0 :(得分:0)

我知道答案已经晚了,但是对于那些正在搜索这种错误的人来说。父母有一个错误的引用。只需从styles.xml

更改以下行
<style name="my_button" parent="@android:style/Widget.Button">

<style name="my_button">

此外,您可以将my_button的所有常用属性添加到样式中的引用中,然后将以下行添加到主题的样式。通过这样做,您可以跳过活动的xml中的参考 android:buttonStyle

<item name="android:buttonStyle">@style/my_button</item>