以编程方式更改按钮的主题
Change theme for button programmatically
我可以使用 xml 中的 android:theme
属性将主题设置为按钮。是否有任何等效的程序代码?
<Button
android:id="@+id/btnPayment"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:text="Add Payment"
android:theme="@style/ButtonPeter" // theme..
/>
style.xml
<style name="ButtonPeter" parent="Widget.AppCompat.Button">
<item name="colorButtonNormal">@color/fbutton_color_peter_river</item>
<item name="android:textColor">@android:color/white</item>
</style>
我可以使用类似这样的东西动态设置主题吗btnPayment.setTheme(R.style.ButtonPeter)
?
我搜索了很多,但所有帖子都与设置 style
或创建动态 button
相关并对其应用样式,但我不想这样做。我想设置 theme
到 button
如何实现?
我认为您对 style
和 theme
感到困惑。从这个 document,它说: theme
用于整个 activity 而 style
用于视图。
A style is a collection of properties that specify the look and format for a View or window.
A theme is a style applied to an entire Activity or application, rather than an individual View.
对于此代码:
android:theme="@style/ButtonPeter" // theme is used but only valid style attributes for button will be applied
希望对您有所帮助。
正如我提到的 ,使用 TextViewCompat.setTextAppearance
应该有效:-)
我可以使用 xml 中的 android:theme
属性将主题设置为按钮。是否有任何等效的程序代码?
<Button
android:id="@+id/btnPayment"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:text="Add Payment"
android:theme="@style/ButtonPeter" // theme..
/>
style.xml
<style name="ButtonPeter" parent="Widget.AppCompat.Button">
<item name="colorButtonNormal">@color/fbutton_color_peter_river</item>
<item name="android:textColor">@android:color/white</item>
</style>
我可以使用类似这样的东西动态设置主题吗btnPayment.setTheme(R.style.ButtonPeter)
?
我搜索了很多,但所有帖子都与设置 style
或创建动态 button
相关并对其应用样式,但我不想这样做。我想设置 theme
到 button
如何实现?
我认为您对 style
和 theme
感到困惑。从这个 document,它说: theme
用于整个 activity 而 style
用于视图。
A style is a collection of properties that specify the look and format for a View or window.
A theme is a style applied to an entire Activity or application, rather than an individual View.
对于此代码:
android:theme="@style/ButtonPeter" // theme is used but only valid style attributes for button will be applied
希望对您有所帮助。
正如我提到的 TextViewCompat.setTextAppearance
应该有效:-)