Добавить два цвета в рамку (android)?

Я ищу способ, как добавить два цвета внутри границы точно так же, как этот человек сделал с этим изображением CSS двухцветная рамка, но мне больше интересно узнать, как этого добиться в Android.

Цель состоит в том, чтобы иметь что-то похожее на этот https://github.com/lorensr/segmented-control для моего приложения, но с двумя разными цветами внутри границы, которые переключаются между собой, когда кнопка находится в фокусе.

Хорошего дня :)

2
0
574
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете использовать собственный фоновый файл xml, например это, и использовать собственный фоновый файл.

Ответ принят как подходящий

Вы можете использовать layer-list и один слой с градиентным фоном и второй макет со сплошным цветом со всеми боковыми отступами, как показано ниже.

<?xml version = "1.0" encoding = "utf-8"?>
<layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
    <item>
        <shape
            android:shape = "rectangle">
            <gradient
                android:angle = "180"
                android:endColor = "#00f"
                android:startColor = "#f00" />
        </shape>
    </item>
    <item
        android:bottom = "10dp"
        android:left = "10dp"
        android:right = "10dp"
        android:top = "10dp">
        <shape
            android:shape = "rectangle">
            <solid android:color = "#0f0" />

        </shape>
    </item>
</layer-list>

В этом примере я дал 10dp (в

android:bottom = "10dp"
            android:left = "10dp"
            android:right = "10dp"
            android:top = "10dp"

), чтобы увидеть более четкое, вы можете изменить значение по своему усмотрению.

    <item>
        <shape android:shape = "rectangle">
            <corners android:radius = "@dimen/_20sdp" />
            <gradient
                android:angle = "180"
                android:endColor = "@color/yellow_color"
                android:startColor = "@color/color_red" />
        </shape>
    </item>
    <item
        android:bottom = "1dp"
        android:left = "1dp"
        android:right = "1dp"
        android:top = "1dp">
        <shape android:shape = "rectangle">
            <corners android:radius = "@dimen/_20sdp" />
            <solid android:color = "@color/white_color" />
        </shape>
    </item>

</layer-list>```


**Two color border with round corner**

Другие вопросы по теме