自定义按钮颜色的按钮角半径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义按钮颜色的按钮角半径相关的知识,希望对你有一定的参考价值。

我有5个按钮,它们都有不同的颜色,颜色以此按钮的样式显示。但我需要更改按钮角落的圆角,但按钮的颜色保持不变。当我创建一个新的drawable并将其分配给按钮时,我所有的byttons都有一个白色。

可绘制的颜色覆盖colorButtonNormal,我也不想创建五个可绘制的文件。

<!---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>

我找到了相同的主题Can I override some attribute of drawable shape?,但我可以定义其他资源或等等的角半径?

答案

我发现相同的主题我可以覆盖一些可绘制形状的属性吗?但我可以从其他资源等定义角半径吗?

答案是不。没有其他方法可以从其他资源或其他方式定义角半径,除非您想要创建一个完全像按钮一样的自定义View并使用圆角绘制。

覆盖自定义形状颜色的最简单方法是使用代码更改它,就像您找到的一样。

以上是关于自定义按钮颜色的按钮角半径的主要内容,如果未能解决你的问题,请参考以下文章

如何使用创建的自定义 IBDesignable 类从情节提要中更改按钮的角半径

角材料设计 - 如何添加自定义按钮颜色?

如何创建xamarin表单按钮左角半径

如何实现具有圆角半径的自定义按钮

自定义分组表或按钮?

UIButton的layer.cornerRadius删除了按钮标题的可见性