Создание белой рамки вокруг кнопок - PullRequest
0 голосов
/ 09 мая 2020

Я новичок в разработке приложений Android. Я пытаюсь создать следующий макет:

enter image description here

Как видите, у нас есть фон, две кнопки и еще один белый «фон», который «рамка» кнопок. Эта рамка белая, и вы можете видеть нечеткий фон.

На следующем изображении я окружил «белую» часть черной рамкой, чтобы ее было легче понять (потому что фон немного яркий):

enter image description here

Обратите внимание, что эта рамка не полностью белая (хотя фон вы можете видеть).

Я знаю, как добавить фон и создать эти кнопки, но как я могу создать эту белую рамку?

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Вы можете создать объект для рисования, подобный этому

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="YOUR_BACKGROUND_COLOR"/>
            <corners android:radius="10dp"/>
            <stroke android:color="YOUR_FRAME_COLOR" android:width="2dp"/>
        </shape>
    </item>

</selector>

, и применить его в качестве фона к макету root.

0 голосов
/ 09 мая 2020

Вы можете заключить кнопки в CardView и установить атрибуты app:cardCornerRadius и app:cardElevation.

Управляйте окружающей областью с помощью поля LinearLayout, в котором находятся кнопки

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:cardCornerRadius="5dp"
    app:cardElevation="2dp">

    <LinearLayout
        android:layout_width="wrap_content"
        android:orientation="vertical"
        android:layout_margin="4dp"
        android:layout_height="wrap_content">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button 1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button 2" />
    </LinearLayout>


</androidx.cardview.widget.CardView>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...