Установить цвет границы для чипа в Android - PullRequest
3 голосов
/ 22 марта 2019

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

enter image description here

Есть ли способ установить цвет границы насделать так:

enter image description here

ОБНОВЛЕНИЕ : я пытался добавить форму, но во время надувания макета есть исключение

 <android.support.design.chip.Chip
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:background="@drawable/chip_with_border"
     android:text="my chip" />

drawable/chip_with_border.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF"/>
            <corners android:radius="30dp"/>
            <stroke android:width="1dp" android:color="#DDDDDD"/>
        </shape>
    </item>
</selector>

Это вызывает исключение

android.view.InflateException: строка двоичного файла XML # 32: ошибка надувания класса android.support.design.chip.Chip

Ответы [ 2 ]

6 голосов
/ 22 марта 2019

Я нашел ответ сам. Мне нужно добавить атрибуты chipStrokeColor и chipStrokeWidth к моим chip

  <android.support.design.chip.Chip
      android:id="@+id/chip"
      style="@style/Widget.MaterialComponents.Chip.Filter"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      app:chipStrokeColor="#F0F"
      app:chipStrokeWidth="1dp"
      android:text="my chip"
      app:checkedIcon="@drawable/ic_done_green"
      app:chipBackgroundColor="#FFF" />

enter image description here

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

1 - Создайте shape.xml в папке для рисования и поместите в нее этот код

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF"/>
            <corners android:radius="30dp"/>
            <stroke android:width="1dp" android:color="#DDDDDD"/>
        </shape>
    </item>
</selector>

2 - затем установите атрибут android:background="@drawable/shape" в вашем View

...