按钮的背景属性不起作用



不要在按钮中显示背景色。为背景创建一个xml文件并在该xml文件中设置颜色和半径,为什么不显示颜色? 我的布局文件和 XML 文件'

<Button
android:id="@+id/signButton"
android:layout_width="257dp"
android:layout_height="53dp"
android:text="@string/sign_in"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="15sp"
android:background="@drawable/sign_in_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.564"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.921" />

XML '

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/white" />
<corners android:radius="100dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<gradient android:endColor="#f92c8b" android:startColor="#f6bbd6" />
<corners android:radius="100dp" />
</shape>
</item>
</selector>

我会说你需要将android:state_pressed="false"添加到你的第二个项目中。 否则,您不会为两种状态(按下和未按下(提供背景。

希望对您有所帮助。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/white" />
<corners android:radius="100dp" />
</shape>
</item>
<item android:state_pressed="false">
<shape android:shape="rectangle">
<gradient android:endColor="#f92c8b" android:startColor="#f6bbd6" />
<corners android:radius="100dp" />
</shape>
</item>