如何在Android中更改Style

时间:2015-05-17 19:28:01

标签: android

我使用以下样式,正常使用ButtonBlue。在菜单上,样式应更改为ButtonBlue.Big样式如下所示:

  <style name="ButtonBlue" parent="android:Widget.Button">
        <item name="android:layout_weight">1</item>
        <item name="android:backgroundTint">@android:color/holo_blue_bright</item>
    </style>
    <style name="ButtonBlue.Big" parent="ButtonBlue">
        <item name="android:textSize">20sp</item>
    </style>

有没有办法将Style更改为多个Button?因为我有31个按钮,如果必须为每个按钮手动更改它,那将会是很多LoC

bt.setTextAppearance(this,R.style.ButtonBlue_Big);

提前致谢

编辑: 我在activity.xml中应用了ButtonBlue Style

       <Button
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/buttonInvert"
        style="@style/ButtonBlue"
        android:id="@+id/buttonInvert"
       android:onClick="buttonOnClick"/>

但我的问题是,我不知道如何在Java代码中应用新的Style by Button

    public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.number_small) {
        //apply the Style here
        return true;
    }

    return super.onOptionsItemSelected(item);
}

4 个答案:

答案 0 :(得分:0)

将样式设置为XML布局文件中的每个Button。例如:

<Button
    style="@style/ButtonBlue.Big"
    android:text="@string/myButtonText" />

答案 1 :(得分:0)

您可以在所有按钮的布局中执行此操作,

<Button
 .....
 ..... 
  style="@style/ButtonBlue_Big"
/>

答案 2 :(得分:0)

在res / styles文件夹中创建.xml,并将该文件用作main.xml

中的android样式属性

在Google上搜索大量可用的教程。

答案 3 :(得分:0)

您可以按How do I apply a style to all buttons of an Android application将主题应用于应用中的所有按钮。

以编程方式,您无法...检查this