Я пытаюсь установить рамку для кнопки в Android, но, к сожалению, не вижу границы кнопки.

Файл с возможностью рисования 👇

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="12dp" />
            <stroke android:width="3px" android:color="#7E8082" />
        </shape>
    </item>
</selector>

XML 👇

<Button
        android:id="@+id/btn_signup"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="122dp"
        android:background="@drawable/bg_signup"
        android:fontFamily="@font/poppins_semibold"
        android:text="Create an Account"
        android:textAllCaps="false"
        android:textColor="@color/black"
        app:layout_constraintTop_toBottomOf="@+id/btn_login" />

I want this button

1
Yathavan Seyavan 4 Июл 2021 в 11:35

4 ответа

Лучший ответ

Вам не нужно использовать настраиваемый чертеж, просто используйте MaterialButton:

       <com.google.android.material.button.MaterialButton
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           style="@style/Widget.MaterialComponents.Button.OutlinedButton"
           app:strokeColor="#7E8082"
           app:strokeWidth="1dp"
           app:cornerRadius="12dp"/>

enter image description here

1
Gabriele Mariotti 4 Июл 2021 в 15:57

Замените свой файл с возможностью рисования приведенным ниже кодом. Если вы хотите, чтобы бродеры были более заметными, увеличьте ширину в секции штриховки.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp"
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        />
    <stroke
        android:width="2dp"
        android:color="#cdcdcd"
        />
</shape>

0
KARUNESH PALEKAR 4 Июл 2021 в 08:54

Не используйте селектор для одного варианта, используйте shape напрямую

bg_signup

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#cdcdcd"/>
    <corners
        android:radius="4dp"
    />
    <stroke
        android:width="1dp"
        android:color="#000"
    />
</shape>
0
HussainAbbas 4 Июл 2021 в 09:18

Используйте атрибут Style вместо android:background="@drawable/bg_signup"

Создайте собственный стиль и назовите его android:style="@style/bg_signup"

-1
Gias Uddin 4 Июл 2021 в 09:20