Android 按钮颜色 [使用的形状]
Android Button color [used shape]
res/drawable/circle.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:startColor="#024ee6"
android:endColor="#0292e6"/>
<stroke
android:width="10dip"
android:color="#1161b8" />
<corners android:radius="1000dp" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
在我的布局中 xml 有 2 个按钮使用了这种形状:
<Button
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:drawableTop="@android:drawable/ic_menu_send"
android:background="@drawable/circle"
android:text="btn 1" />
<Button
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:background="@drawable/circle"
android:drawableTop="@android:drawable/ic_menu_manage"
android:text="btn 2" />
按钮的颜色不是应该的,而是紫色。
我该如何解决?
由于在应用主题中使用了material组件,您选择的颜色被替换为紫色,所以有两种方式显示您想要的颜色
首先:为按钮添加背景色 属性
<Button
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:drawableTop="@android:drawable/ic_menu_send"
android:background="@drawable/circle"
app:backgroundTint="@null" // this line
android:text="btn 1" />
第二:将 Button 替换为 AppCompatButton
<androidx.appcompat.widget.AppCompatButton
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:drawableTop="@android:drawable/ic_menu_send"
android:background="@drawable/circle"
android:text="btn 1" />
res/drawable/circle.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:startColor="#024ee6"
android:endColor="#0292e6"/>
<stroke
android:width="10dip"
android:color="#1161b8" />
<corners android:radius="1000dp" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
在我的布局中 xml 有 2 个按钮使用了这种形状:
<Button
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:drawableTop="@android:drawable/ic_menu_send"
android:background="@drawable/circle"
android:text="btn 1" />
<Button
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:background="@drawable/circle"
android:drawableTop="@android:drawable/ic_menu_manage"
android:text="btn 2" />
按钮的颜色不是应该的,而是紫色。 我该如何解决?
由于在应用主题中使用了material组件,您选择的颜色被替换为紫色,所以有两种方式显示您想要的颜色
首先:为按钮添加背景色 属性
<Button
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:drawableTop="@android:drawable/ic_menu_send"
android:background="@drawable/circle"
app:backgroundTint="@null" // this line
android:text="btn 1" />
第二:将 Button 替换为 AppCompatButton
<androidx.appcompat.widget.AppCompatButton
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:drawableTop="@android:drawable/ic_menu_send"
android:background="@drawable/circle"
android:text="btn 1" />