как изменить стиль фишек? - PullRequest
0 голосов
/ 10 марта 2019

Мне нужно сделать следующий интерфейс с использованием чипов

enter image description here

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

Я изменил цвет обводки, цвет фона и ширину обводки

так что нормальные чипы не имеют проблем, моя проблема с проверенными чипами синего цвета

Может кто-нибудь посоветовать, пожалуйста?

1 Ответ

1 голос
/ 10 марта 2019

Самый простой способ - использовать ToggleButton, который может быть checked или not checked.Как background вы можете установить файл с помощью states.

. С их помощью вы можете создать макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:padding="40dp">

    <ToggleButton
        android:id="@+id/toggle_button"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:background="@drawable/background" />

    <ToggleButton
        android:id="@+id/toggle_button2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="40dp"
        android:background="@drawable/background"
        android:checked="true" />

</LinearLayout>

. Как background вы можете установить файл, содержащий список состояний:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/blue_shape" android:state_checked="true" />

    <item android:drawable="@drawable/grey_shape" />

</selector>

И все состояния (checked и default - последние) могут иметь формы:

res> drawable> grey_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid android:color="#D6D6D6" />

    <corners android:radius="50dp" />

    <stroke
        android:width="2dp"
        android:color="#727272" />

</shape>

res> drawable> blue_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid android:color="#81D7FF" />

    <corners android:radius="50dp" />

    <stroke
        android:width="2dp"
        android:color="#1890D1" />

</shape>

Вы можете ожидать различного фона при кнопке checked и not checked

enter image description here

...