首页 > 解决方案 > 按钮的形状没有改变

问题描述

我在以前回答的问题上找到了一种改变形状的方法,但是在应用 android:background="@drawable/x" 后,该属性似乎应用于布局预览,但在调试后有时会出现正常背景/无背景。

检查了以前的问题,没有一个能够解决这个问题。

可绘制-> x.xml->

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
            <solid android:color="@android:color/darker_gray" />
            <corners android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"
                android:topLeftRadius="10dp"
                android:topRightRadius="10dp"/>
        </shape>
    </item>
</selector>

布局->

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="95dp"
    android:layout_marginTop="140dp"
    android:layout_marginEnd="228dp"
    android:background="@drawable/butt_shape"
    android:text="Button"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

没有错误信息

标签: androidandroid-layout

解决方案


使您的背景(名称 name.xml)像这样

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:angle="225"
        android:startColor="#DD2ECCFA"
        android:endColor="@color/loginBackground"/>

    <corners android:bottomRightRadius="8dp"
        android:bottomLeftRadius="8dp"
        android:topRightRadius="8dp"
        android:topLeftRadius="8dp"/>
</shape>

在你的按钮中

android:background="@drawable/name"

推荐阅读