Intereting Posts
Добавить пользовательский макет в ActionBar / панель инструментов без полей Не удается разрешить символ HttpGet, HttpClient, HttpResponce в Android Studio Параметры сообщения Volley JsonObjectRequest больше не работают GAE Должен сначала вызвать один из установленных * BlobStorage () Как получить тело Response при возникновении ошибки при использовании Retrofit 2.0 Observables Есть ли способ автоматически генерировать геттеры и сеттеры в Eclipse? Когда вызывать контекст активности или контекст приложения? Кнопка Android – Hold для повторения действия Не удалось импортировать новый проект Gradle в андроид-студию Проверьте, является ли путь файлом или папкой Какова цель Gradle? Правильные варианты использования для Android UserManager.isUserAGoat ()? Вызвать родительскую активность из фрагмента Разница между iPhone Simulator и Android Emulator Значок навигационного ящика не отображается (панель действий Шерлока)

Атрибут <size> не полезен при использовании списка слоев?

Учитывая, что у меня есть фоновая возможность для создания точек буфера для TextViews, например:

Пример того, что я хочу

Тогда мой XML-код выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="235dp"> <shape android:shape="oval"> <padding android:left="10dp" /> <size android:height="5dp" android:width="5dp"/> <solid android:color="@color/my_pink"/> </shape> </item> <item android:left="10dp"> <shape android:shape="rectangle"> <solid android:color="#ffffff"/> <padding android:left="10dp" /> </shape> </item> </layer-list> 

Но как только я использую код, показанный выше, мои пункты пули выглядят так:

Результат XML, показанный выше

Кажется, что <size> полностью игнорируется.

Как бы вы решили эту проблему? Используя 9patch, да, я знаю … возможно, это проще всего сделать … но на самом деле я надеялся найти XML-решение, поскольку оно будет более гибким в будущем.

Пользовательский чертеж также не может быть и речи.

Solutions Collecting From Web of "Атрибут <size> не полезен при использовании списка слоев?"

Тег <size> безусловно, работает в layer-list и для отображения маркеров для текстовых просмотров вы можете использовать атрибут xml android:drawableLeft -> link

При таком подходе нет необходимости в 9-патче и пользовательском чертеже.

Проводка кода и скриншот здесь для справки.

Рез / рисуем / bullet_point_layer.xml

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="3dp"> <shape android:shape="oval"> <padding android:left="10dp" /> <size android:height="10dp" android:width="10dp"/> <solid android:color="#ff0080"/> </shape> </item> 

разреш / макет / main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView one" android:textColor="@android:color/black" android:drawableLeft="@drawable/bullet_point_layer" android:background="@android:color/white" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView Two" android:textColor="@android:color/black" android:drawableLeft="@drawable/bullet_point_layer" android:background="@android:color/white" /> </LinearLayout> 

Как это выглядит

Это старый пост, но я думал, что добавлю что-то очень важное, чего не хватает на этом посту.

По моему опыту последним элементом <layer-list> будет элемент, из которого берется значение размера.

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

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <solid android:color="#535353" /> </shape> </item> <item android:top="@dimen/common_divider_line_half_size"> <shape android:shape="rectangle"> <solid android:color="#737373" /> </shape> </item> <!-- Last item empty to specify divider height --> <item> <shape android:shape="rectangle"> <size android:height="@dimen/common_divider_line_size"/> <solid android:color="@android:color/transparent" /> </shape> </item> </layer-list>