向AppTheme添加按钮样式不起作用

不操千曲而后晓声,观千剑而后识器。这篇文章主要讲述向AppTheme添加按钮样式不起作用相关的知识,希望能为你提供帮助。
我试图为我的AppTheme添加自定义按钮样式,但它无法正常工作。作为参考,我在我的AppTheme中添加了一个Spinner样式,它运行正常。所以,我只需要找出我的按钮样式出错的地方。
style.xml:

< style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> < item name="android:spinnerStyle"> @style/mySpinnerStyle< /item> < item name="android:buttonStyle"> @style/myButtonStyle< /item> < item name="buttonStyle"> @style/myButtonStyle< /item> < /style> < style name="mySpinnerStyle" parent="@style/Widget.AppCompat.Spinner"> < item name="overlapAnchor"> true< /item> < item name="android:background"> @drawable/spinner_background< /item> < item name="android:padding"> 5sp< /item> < /style> < style name="myButtonStyle" parent="@style/Widget.AppCompat.Button"> < item name="android:background"> @drawable/button_states< /item> < item name="android:focusable"> true< /item> < item name="android:clickable"> true< /item> < /style>

如果需要,我可以添加我的button_states.xml文件,但是如果我将我的样式直接插入布局中的按钮属性,请知道该样式是否有效,如下所示:
< Button android:id="@+id/button_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="4" style="@style/myButtonStyle" android:textSize="@dimen/text_size" android:text="OK" />

父布局中的声明:
android:theme="@style/AppTheme"

那么,为什么它直接在按钮属性中工作,而不是通过我的AppTheme?
答案1-右键单击android studio中的res / drawable文件,创建新的DRAWABLE RESOURCE FILE
2-写这样的代码: -
< ?xml version="1.0" encoding="utf-8"?> < shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > < corners android:radius="100dp" /> < solid android:color="#FFFFFF"/> < size android:width="100dp" android:height="100dp" /> < /shape>

3-打开包含此按钮的XML文件,并将按钮背景更改为之前创建的drawable
另一答案感谢Ahmad Sattout的回答。
在我的按钮样式中,我从父项中删除了@style:
原版的:
< style name="myButtonStyle" parent="@style/Widget.AppCompat.Button"> < item name="android:background"> @drawable/button_states< /item> < item name="android:focusable"> true< /item> < item name="android:clickable"> true< /item> < /style>

改变:
< style name="myButtonStyle" parent="Widget.AppCompat.Button"> < item name="android:background"> @drawable/button_states< /item> < item name="android:focusable"> true< /item> < item name="android:clickable"> true< /item> < /style>

【向AppTheme添加按钮样式不起作用】如果有人能够进一步详细解释为什么会发生这种情况,我们将不胜感激。

    推荐阅读