在android studio中为按钮添加边框/轮廓

aor9mmx1  于 2023-02-13  发布在  Android
关注(0)|答案(1)|浏览(360)

我想给按钮添加边框。
我已经尝试了通常的东西,即创建一个可绘制的文件,并在xml文件中引用它。但这似乎是行不通的。有人知道为什么吗?
下面是这个按钮的XML代码:

<Button
        android:id="@+id/logoutButton"
        android:layout_width="357dp"
        android:layout_height="51dp"
        android:background="@drawable/round_btn"
        android:fontFamily="@font/work_sans"
        android:text="Log Out"
        android:textAllCaps="false"
        android:textSize="16sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.46"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.992"
         />

下面是我为可绘制文件'round_btn'编写的代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#6200EE"/>
    <stroke
        android:width="20px"
        android:color="#000000"
        />
    <corners
        android:radius="50dp"
        />
</shape>

不添加边界,但修改角(弯曲)。

w8rqjzmb

w8rqjzmb1#

添加此行:

app:backgroundTint="@null"

解决了这个问题。
因此,您的最终代码(用于按钮)变为:

<Button
        android:id="@+id/logoutButton"
        android:layout_width="357dp"
        android:layout_height="51dp"
        android:background="@drawable/round_btn"
        android:fontFamily="@font/work_sans"
        android:text="Log Out"
        android:textAllCaps="false"
        android:textSize="16sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.46"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.992"
        app:backgroundTint="@null"
        />

你可以考虑这个问题:Android Background Drawable Not Working in Button Since Android Studio 4.1了解更多信息

相关问题