如何为按钮样式设置默认布局参数?

时间:2012-09-11 06:11:34

标签: android android-layout

我经常要将布局参数手动设置到我的按钮

<Button
    android:id="@+id/signIn"
    android:layout_above="@+id/forgotPassword"
    android:text="@string/button_sign_in" 

<!-- Repetitive part -->
    android:layout_marginLeft="@dimen/button_margin_left"
    android:layout_marginRight="@dimen/button_margin_right"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

我的styles.xml

<style name="myButton" parent="android:style/Widget.Button">
    <item name="android:textColor">@color/button_textColor</item>
    <item name="android:background">@drawable/button_background</item>      
    <item name="android:textSize">@dimen/button_textSize</item>
    <item name="android:padding">@dimen/button_padding</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_marginLeft">@dimen/button_margin_left</item>
    <item name="android:layout_marginRight">@dimen/button_margin_right</item>
</style>

然而,最后三个值似乎没有影响! 如果我不能在样式xml中设置它,我可以设置eclipse来更改它在使用图形布局时创建的默认值吗?

1 个答案:

答案 0 :(得分:3)

我在评论部分没有空间,所以这是我的(工作)代码,TextView

<TextView
    android:id="@+id/show_sa_j"
    style="@style/show_title"
    android:text="@string/loading" />

<style name="show_title">
    <item name="android:textSize">34dp</item>
    <item name="android:textColor">#FFFFFFFF</item>
    <item name="android:gravity">center_horizontal</item>
    <item name="android:paddingLeft">10dp</item>
    <item name="android:paddingRight">10dp</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
</style>

结果是:

result in the Eclipse Layout Editor

如您所见,TextView在宽度上填充其父级(减去父级的填充)。

为了证明布局边距是有效的,我将<item name="android:layout_marginLeft">25dp</item>添加到我的样式中,结果如下:

enter image description here