Intereting Posts
Создание флажка с тремя состояниями на android Обнаружение движения с использованием Accelerometer в Android Количество услуг, влияющих на эффективность приложения Использование SQLite Trigger для обновления поля «LastModified» Как вернуться к какой-либо деятельности в стеке действий? Почему диалоговое окно «Диалог хода Android» становится замерзающим при сбое синхронизации данных с сервера на локальную базу данных с использованием «дооснащения» Подпапки в папке с выделенными ресурсами? Ошибка AppCompatDialogFragment с помощью appcompat-v7: 23.1.0 Scala – сбор Android-приложений не работает Получение Udid в андроиде Отображение анимации флип-карты на старом андроиде Статическая переменная инициализация на M, но не на L из-за применения onCreate (), вызываемого более одного раза Похожие темы Что происходит с Activity.finish (), когда AsyncTask все еще работает в фоновом режиме? Как показать WebView с типом Theme.Dialog в Android

Список слоев Android XML: как разместить верхний слой

У меня есть этот XML drawable – tab_background_unselected:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="@color/background_grey" /> </shape> </item> </layer-list> 

Который создает эту форму:

Прямоугольник фона

И эта форма стрелки xml drawable – tab_selected_arrow:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <rotate android:fromDegrees="45" android:pivotX="-40%" android:pivotY="87%" android:toDegrees="45" > <shape android:shape="rectangle" > <solid android:color="@color/background_dark_green" /> </shape> </rotate> </item> </layer-list> 

Который создает эту форму:

Треугольник верхнего слоя

Я использую этот гибкий XML (вместо PNG-файла), чтобы создать список слоев:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/tab_background_unselected"> </item> <item android:drawable="@drawable/tab_selected_arrow"> </item> </layer-list> 

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

Окончательное изображение

Я не знаю, как установить гравитацию стрелки (второй элемент и верхний слой) в центр | внизу … Я пробовал использовать bitmap тег, но он принимает только файлы изображений.

Мне нужно, чтобы это было гибким XML, потому что

  1. Мне нужно, чтобы он был внутри съемного селектора
  2. Я не хочу создавать PNG и создавать разные файлы для каждого разрешения экрана

Используйте внутренний Bitmap извлечь внутри item , и установите для него gravity :

 <item android:drawable="@drawable/tab_background_unselected"> </item> <item> <bitmap android:gravity="bottom|center_horizontal" android:src="@drawable/tab_selected_arrow" /> </item>