以编程方式将主题应用于按钮

时间:2015-08-28 18:09:10

标签: android android-appcompat

是否可以通过编程方式将Widget.AppCompat.Button主题应用于按钮?

Button button = new Button(context);
button.setText("Button");

目前,我正在使用自定义可绘制资源,尝试实现类似AppCompat主题的样式,但我认为它可能更容易实现。

在布局中它实现如下:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeBasedOnAppcompatButton"/>

提前致谢。

2 个答案:

答案 0 :(得分:16)

您应该使用ContextThemeWrapper,它会更改默认主题。只需像往常一样获取上下文,并使用如下所示:

new Button(new ContextThemeWrapper(context, R.style.my_theme));

答案 1 :(得分:1)

如果您需要更改主题并且使用支持库,则只需使用:

                      name   X   Y
1                         4052 153 302
2                         7057  80 279
3                         8454 466 266
4                         9978 466 249
5                         3400 769 142
6                         1875 723 325
7                         3399 769 142
8                         3398 769 142
9                         3397 769 142
10                        1874 723 325

用于TextViews和Buttons。其余视图有类似的类: - )