如何将样式应用于Android应用程序的所有按钮

如何将样式应用于Android应用程序的所有按钮,android,button,stylesheet,Android,Button,Stylesheet,我在整个应用程序中应用了一种样式: AndroidManifest.xml: <application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name"> 在my styles.xml中: <style name="ApplicationStyle" parent="android:Theme"> <

我在整个应用程序中应用了一种样式:

AndroidManifest.xml:

<application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name">

在my styles.xml中:

 <style name="ApplicationStyle" parent="android:Theme">
  <item name="android:button">@style/CKButton</item>
 </style>
 <style name="CKButton" parent="android:style/Widget.Button">
  <item name="android:textSize">19sp</item>
  <item name="android:layout_margin">0dip</item>
  <item name="android:background">#ff0000</item>
 </style>

@样式/按钮
19便士
0度
#ff0000
但是这种风格没有得到应用


很抱歉,如果我只是在
ApplicationStyle
-
项中使用了假名称,但我不知道在哪里查找对象名称,只是假设
android:button
适用于所有按钮。

对于android样式,您引用了android在中设置的预设属性。在本例中,看起来您希望引用。我认为这是可行的:

<style name="ApplicationStyle" parent="android:Theme">
  <item name="android:buttonStyle">@style/CKButton</item>
</style>

@样式/按钮

对于材质组件主题,它将如下所示:

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="materialButtonStyle">@style/AppTheme.Button</item>
</style>

@颜色/原色
@颜色/原色暗
@颜色/颜色重音
@style/AppTheme.Button

天哪,我一直在寻找这样的功能。不知道为什么按钮的textColor不遵循主主题的textColor属性。多谢!有人不知道如何为spinner执行此操作吗?请注意:如果CKButton样式没有继承@android:style/Widget.Button,则该按钮将停止工作。
parent=“android:Widget.Button”之间有什么区别
parent=@android:style/Widget.Button
?为什么布局编辑器不按照主题中设置的按钮样式预览更改请查看我在