我想使用自定义按钮外观,所以我在这里https://stackoverflow.com/a/29848987/5616309
遵循了答案这可行,如果我将属性更改为引用自定义按钮,则可以创建外观正确的按钮。
现在,我想将其设置为默认值,因此我在布局上添加的每个按钮都具有自动外观。因此,我将文件app / res / values / style.xml更改为这样(引用MyButton的行是我添加的行)
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="buttonStyle">@style/MyButton</item>
</style>
<style name="MyButton" parent="Widget.AppCompat.Button">
<item name="android:background">@drawable/my_button</item>
<item name="android:gravity">center_vertical|center_horizontal</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">0</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowRadius">0.2</item>
<item name="android:textSize">16dip</item>
<item name="android:textStyle">bold</item>
<item name="android:focusable">true</item>
<item name="android:clickable">true</item>
</style>
它不起作用。我必须手动向每个按钮添加style="@style/MyButton"
才能使其正常工作。我错过了什么?
答案 0 :(得分:0)
您需要在AppTheme中进行以下更改-
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
..............
<item name="android:buttonStyle">@style/MyButton</item>
</style>
就是这样。祝您编码愉快!
答案 1 :(得分:0)
确保您的Activity
使用AppTheme
主题。
在部分活动android:theme="@style/AppTheme"
int清单中添加android:name=".MainActivity
。