布局\u bg.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<!--<stroke android:width="3dp" android:color="#B1BCBE" />-->
<corners android:radius="10dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
主活动.xml
<ImageButton
android:background="@drawable/layout_bg"
android:src="@drawable/myicon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="@android:color/black"
android:minWidth="80.0dp"
android:minHeight="80.0dp"
android:padding="10px"
android:scaleType="fitCenter"
android:layout_alignParentBottom="true"
android:id="@+id/btnFoo"
android:layout_marginLeft="91.0dp"
/>
我正在设置我的背景 ImageButton
以使我可以拥有动态圆角,如您在该图像中看到的:
但是,我需要改变的背景颜色只是那个按钮到另一个固体颜色,如红色。
如果我用 btnFoo.SetBackgroundColor(Color.Red)
,则圆角消失。
我假设是因为它将background属性改写为纯色值,而不是 layout_bg.xml
文件。
我如何设置这个特定场景的背景色 ImageButton
而不是我的主要活动中所有使用 layout_bg
作为背景?
3条答案
按热度按时间t0ybt7op1#
你需要用红色做另一个可画的,然后使用它:
wgx48brx2#
“使用材质”按钮所有功能都已内置
1mrurvl13#
您可以使用以下方法:
注:需要
androidx.core:core:1.2.0
作为替代,您可以使用MaterialButton
:在这种情况下,只需使用: