Не можете нарисовать линию?

Я хочу нарисовать линию как ImageView's фон. Но это не работает?

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
    <solid android:color="#FF0000FF" />
    <size android:width="10dp"
        android:height="2dp"/>
</shape>

Просто демо.

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/dividing_line"
    android:layout_marginLeft="10dp" />

1 ответ

ImageView не имеет контента, поэтому размер будет 0x0dp. Если вы хотите разделитель попробуйте установить width в match_parent и height к чему угодно2dp например).

Обновление: попробуйте это.

В вашем файле макета:

<ImageView
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:background="@drawable/dividing_line"
    android:layout_marginLeft="10dp" />

Drawable:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
    <stroke android:width="2dp" android:color="#0000FF"/>
    <size android:height="2dp" />
</shape>

Это работает для меня.


Как указывает TheTool, если вы просто хотите разделитель, проще добавить

<View android:layout_width="match_parent" 
      android:layout_height="2dp" 
      android:background="@color/yourColor" />

в ваш файл макета.

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