【问题标题】:Button corner radius for custom button colors自定义按钮颜色的按钮角半径
【发布时间】:2018-07-05 15:12:03
【问题描述】:

我有 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? 但是我可以从其他资源或其他资源中定义角半径吗?

【问题讨论】:

    标签: android xamarin styles drawable


    【解决方案1】:

    我找到了相同的主题 我可以覆盖可绘制形状的某些属性吗?但是我可以从其他资源或其他资源中定义角半径吗?

    答案是否定的。没有其他方法可以从其他资源等中定义圆角半径,除非您想创建一个自定义的View,其功能完全像一个按钮并用圆角绘制。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 2015-10-18
      相关资源
      最近更新 更多