我有 5 个按钮,它们都是不同的颜色,颜色以这个按钮的样式表示。但是我需要更改按钮角的圆角,但按钮的颜色保持不变。当我创建一个新的可绘制对象并将其分配给按钮时,我所有的 bytton 都是白色的。
可绘制颜色覆盖颜色按钮正常,我也不想创建五个可绘制文件。
<!---PRIMARY BUTTON-->
<style
name="PrimaryButton" parent="Widget.AppCompat.Button">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:fontWeight">600</item>
<item name="android:textAllCaps">false</item>
<item name="android:background">@drawable/primary_button</item>
</style>
<style name="BlackButton" parent="PrimaryButton">
<item name="android:textColor">#ffffff</item>
<item name="colorButtonNormal">@color/black</item>
</style>
<style name="GrayButton" parent="PrimaryButton">
<item name="android:textColor">#ffffff</item>
<item name="colorButtonNormal">@color/gray</item>
</style>
//...
primary_button.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="5dip"/>
</shape>
</item>
</selector>
我找到了相同的主题我可以覆盖可绘制形状的某些属性吗?但是我可以定义其他资源等的拐角半径吗?
我找到了相同的主题 我可以覆盖可绘制形状的某些属性吗? 但是我可以定义其他资源等的拐角半径吗?
答案是否定的。没有其他方法可以从其他资源等定义拐角半径,除非您想创建一个自定义View
,其功能完全像按钮并使用圆角绘制。
覆盖自定义形状颜色的最简单方法是使用代码更改它,就像您找到的颜色一样。