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

3
我经常需要手动设置我的按钮的布局参数。
<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,在使用图形布局时更改其创建的默认值?

你设置了style="myButton"吗? - Benoit Duffez
@Bicou 是的,其他的值:textSize、textColor、background 和 padding 都是继承的。 - Moak
1个回答

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>

结果如下:

结果是:

在 Eclipse Layout Editor 中的结果

正如您所看到的,TextView 的宽度填满了其父容器(减去父容器的内边距)。

为了证明布局边距也起作用,我在我的样式中添加了 <item name="android:layout_marginLeft">25dp</item>,这里是结果:

输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接