如果除了您的自定义默认按钮样式之外还发生了大写,则无需将大写样式设置为子样式?attr/materialButtonStyle
(无论如何都不能这样做,因为?attr
引用了当前应用的主题中的属性)。你可以在这里阅读更多关于它的信息。
样式.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="buttonStyle">@style/DefaultButton</item>
</style>
<style name="DefaultButton" parent="Widget.AppCompat.Button">
<item name="android:textColor">@color/white</item>
</style>
<style name="AllCapsButton">
<item name="android:textAllCaps">true</item>
</style>
布局.xml
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:theme="@style/AllCapsButton"/>
在上面的代码中,button
获取DefaultButton
主题应用的样式(白色文本),以及AllCapsButton
布局文件中应用的样式(大写文本)。