Intereting Posts
Список View адаптер не работает, getView не вызывается. Как определить, является ли ListView быстрой прокруткой Android: цифры, не позволяющие следующей кнопке на клавиатуре Как установить собственный шрифт для текста в тексте TextView Ловушки приложений для Android AdMob – Отключить запрос onPause () Java Web Start – работает ли он с Android? Пользовательский стиль EditText с помощью appcompat v7 Как я могу определить, какой размер (в пикселях) должен отображаться для Android, чтобы отображать это изображение правильно на устройствах? Как обрабатывать несколько таймеров обратного отсчета в RecyclerView? Android ExpandableListView заполнен дважды Неправильные размеры изображения в android при использовании растрового изображения Catch all type exceptions для программирования Android Android: ярлык приложения должен быть восстановлен после обновления Добавление события в Android-приложение Google Android, нажав на URL-адрес

Неверный размер элементов в списке слоев на прелелипополе

У меня есть список слоев

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="2dp" android:left="2dp" android:bottom="2dp" android:top="2dp"> <bitmap android:gravity="center" android:src="@drawable/ic_menu_alert"/> </item> <item android:height="10dp" android:width="10dp" android:gravity="right|top"> <shape android:shape="oval"> <size android:height="10dp" android:width="10dp"/> <solid android:color="@color/navigation_drawer_notification_red_color"/> </shape> </item> </layer-list> 

Который показывает это изображение

образ

На леденец и выше все хорошо, но на красном круге перед леденец потеряют все атрибуты калибровки и дополнения, и изображение выглядит так:

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

Я искал решение около 3 дней и ничего не нашел. Я пытался создать свой собственный макет панели инструментов и установить этот образ в виде scaleType = "centerInside", но это не помогло. Может ли кто-нибудь помочь в решении этой проблемы?

Заранее спасибо!

    Лучше не упоминать атрибуты height и width в layer-list . Когда вы используете это как возможно для рисования, скажем, ImageView ( ширина и высота ImageView будут переопределять упомянутые в элементе / форме ).

    Вы можете использовать top, bottom, left, right чтобы выровнять элементы в списке слоев.

    Примечание: атрибуты высоты и ширины элемента поддерживаются только с API 23.

    Вот рабочий пример (протестирован в Android 7.0 и Android 4.4):

    sample.xml

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu" android:left="16dp" android:right="16dp" android:gravity="center"> <bitmap android:src="@drawable/menu_icon" /> </item> <item android:top="8dp" android:left="56dp" android:right="24dp" android:bottom="42dp"> <shape android:shape="oval"> <solid android:color="@android:color/holo_red_dark"/> </shape> </item> </layer-list> 

    main.xml

     <ImageView android:layout_width="72dp" android:layout_height="72dp" android:src="@drawable/sample" android:scaleType="fitCenter"/> 

    Вы также можете использовать wrap_content для высоты и ширины в ImageView.

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

    Поэтому я придумал практичное решение. У меня есть список слоев с возможностью рисования в /drawable и /drawable-v21 . /drawable-v21 в /drawable-v21 слой-лист содержит вектор, /drawable-v21 . Выделенный в /drawable список слоев содержит .png. Это как бы поражает цель использования векторных чертежей, но я должен был сделать это, чтобы он работал в этом случае.