Как установить цветную рамку на карте

Я реализую вид карты, но я не могу найти какой-либо параметр границы, чтобы установить на нем границу.

вот моя card.xml:

<android.support.v7.widget.CardView android:layout_marginTop="10dp"
  android:id="@+id/cardView"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  xmlns:android="http://schemas.android.com/apk/res/android"
  card_view:cardPreventCornerOverlap="false"
  app:cardPreventCornerOverlap="false"
  xmlns:card_view="http://schemas.android.com/tools"
  xmlns:app="http://schemas.android.com/apk/res-auto">

  <RelativeLayout
     android:background="@drawable/tab_bg"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:padding="16dp">

     <TextView
         android:id="@+id/title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Title"
         android:textSize="20sp" />

  </RelativeLayout>

</android.support.v7.widget.CardView>

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

введите описание изображения здесь

Помогите мне. Как я могу реализовать эту вещь? Я понятия не имею.

Спасибо.

Ответ 1

Создайте drawable selector.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#808080"/>
    <stroke android:width="3dip" android:color="#B1BCBE" />
    <corners android:radius="20dip"/>
    <padding android:left="0dip" android:top="0dip"
             android:right="0dip" android:bottom="0dip" />
</shape>      

затем задайте это как фон, измените цвет по вашему выбору

Ответ 2

вот решение для вашей проблемы:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="#ffffff" />
   <stroke android:width="1dip" android:color="#00ff00"/>
   <corners android:radius="20dip"/>
</shape>

используйте его как фоновый рисунок вашего макета

Ответ 3

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

<android.support.design.card.MaterialCardView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_margin="10dp">
    ... child views ...
</android.support.design.card.MaterialCardView>

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

  • app: strokeColor - цвет, который будет использоваться для данного хода, должен быть установлен для отображения штриха
  • app: strokeWidth - Ширина, которая будет применена к штриху зрения