Java 如何使用xml文件设置按钮的背景色?
我创建了这个xmlJava 如何使用xml文件设置按钮的背景色?,java,android,xml,android-studio,colors,Java,Android,Xml,Android Studio,Colors,我创建了这个xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle">
<gradient
android:startColor="@color/light_blue"
android:centerColor="@color/dark_blue"
android:endColor="@color/light_purple"
>
</gradient>
<corners
android:radius="30dp">
</corners>
</shape>
</item>
</selector>
我试图将此文件设置为我的按钮背景。但问题是背景不接受xml文件的颜色。这是使用背景色调,而不是我上面设置的颜色
这是我的活动
<Button
android:id="@+id/temp_l"
android:layout_width="250dp"
android:layout_height="33dp"
android:background="@drawable/temp_shape"
app:layout_constraintBottom_toTopOf="@+id/scrollView2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.143" />
我在youtube上搜索,发现每个人都做了我做的事,但他们得到了结果,而我没有
对不起,我的英语不太好。我想你是在用
android:backgroundTint=“@null”
和android
命名空间,但是你需要用app:backgroundTint=“@null”
命名空间来代替
旁注:
只要不需要使用选择器
,就应该将xml drawable包装到层列表
,因此可以将其更改为:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient
android:centerColor="#055D93"
android:endColor="@color/light_purple"
android:startColor="@color/light_blue" />
<corners android:radius="30dp">
</corners>
</shape>
</item>
</layer-list>
预演
您是在使用
androidx
软件包中的MaterialButton
还是AppCompatButton
吗?不,是它的常规按钮。我没有使用任何软件包创建。非常感谢。此行:app:backgroundTint=“@null”解决了我的问题。