Попытка использовать LayerDrawable (определенный в XML как список слоев) для наложения нескольких фигурных чертежей друг на друга; для использования в качестве фона для макета.Предотвращение масштабирования фигур в LayeredList без использования растрового изображения
Андроида руководство (for LayerList) говорит:
Все рисуем элементы масштабируются в соответствии с размером контейнера View, по умолчанию. Таким образом, размещение ваших изображений в списке слоев на разных позициях может увеличить размер представления и некоторых изображений, как . Чтобы избежать масштабирования элементов в списке, используйте элемент
<bitmap>
внутри элемента<item>
, чтобы указать допустимый размер и определить значение силы тяжести для того, что не масштабируется, например, «центр».
Я не хочу, чтобы мои формы в масштабе, но я не уверен, как обернуть их в bitmap
теги корректно: он выдает ошибку, если я делаю это следующим образом:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap
android:src="@drawable/layer_one"
android:gravity="center" />
</item>
<item>
<bitmap
android:src="@drawable/layer_two"
android:gravity="center" />
</item>
<item>
<bitmap
android:src="@drawable/layer_three"
android:gravity="center" />
</item>
<item>
<bitmap
android:src="@drawable/layer_four"
android:gravity="center" />
</item>
</layer-list>
жалуясь:
Binary XML файл строка # 25:
<bitmap>
требуется действительный атрибут Src
Пример одной из чертежей, например. Рез/рисуем/layer_one.xml:
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/layer_one.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#FFFFFF"/>
<corners
android:bottomRightRadius="15dp"
android:bottomLeftRadius="15dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp" />
</shape>
пример, используемый на сайте Android использует изображения в качестве вводимого коэффициента, а не XML, определенные формы (чтобы не сказать, что моя ошибка специфична для них, и что у меня нет где-то была глупая ошибка). Любые подсказки оценили, спасибо.
Using drawable resources
государства ответить на этот вопрос, что вы не можете использовать XML вытяжке как ГКЗ для растрового изображения. Я изменил заголовок вопроса, теперь спрошу, как можно предотвратить масштабирование фигур (таким образом, изменение размера представления контейнера) без использования bitmap
, или я вынужден использовать реальные ресурсы изображения?
Добавлен образ желаемого результата - способность иметь фон с регулярной прямоугольной формы заполнены или любой другой, а затем слоистые на вершине этого, более формы вводимого коэффициента (здесь есть 3 эллипсы). Слева идеально, где верхний и левый сдвиги разрешены, и на право в порядке, в котором все формы просто перейти на позицию по умолчанию:
Sorry Waqas, забыл кавычку при цитировании с сайта Android Dev, следует читать «использовать элемент в - элементе», теперь исправлен. Метод, который вы описываете, - это то, с чего я начал, но масштаб форм для заполнения родительского представления, который я пытаюсь избежать :( –
ataulm
Да, этот оператор по-прежнему действителен для использования растровых изображений с действительным атрибутом src (не ссылаясь на xml drawable) как выталкиваемые в списке слоев. Даже на сайте разработчика Android они используют сплошные изображения в качестве примера. Что вы пытаетесь создать? Можете ли вы разместить его как изображение? Возможно, я могу предложить вам некоторые другие решения – waqaslam
. недействителен при установке силы тяжести (растрового изображения) на «центр», что предотвратит ее масштабирование. Я надеялся определить ряд заполненных эллипсов, расположенных друг на друга (уменьшая размер) в качестве фона. (Эксперимент, а не окончательный дизайн: P) Будет опубликован образ в течение 10 минут – ataulm