Предотвращение масштабирования фигур в LayeredList без использования растрового изображения.

Попытка использовать LayerDrawable (определяемый в XML как список слоев) для наложения нескольких рисунков друг на друга; для использования в качестве фона для макета.

В руководстве по Android ( для LayerList) сказано:

Все рисуемые элементы масштабируются, чтобы соответствовать размеру содержащего View, по умолчанию. Таким образом, размещение ваших изображений в списке слоев на разных позиции могут увеличить размер представления, а некоторые изображения масштабируются как подходящее. Чтобы избежать масштабирования элементов в списке, используйте элемент внутри элемента , чтобы указать рисуемый объект и определить гравитация к чему-то, что не масштабируется, например, к «центру».

Я не хочу, чтобы мои фигуры масштабировались, но я не знаю, как правильно оборачивать их в теги bitmap: выдает ошибку, если я делаю это следующим образом:


    
        
    
    
        
    
    
        
    
    
        
    

Жалоба:

​​Строка двоичного файла XML № 25: требует допустимого атрибута src

Пример одного из рисунков, например res/drawable/layer_one.xml:






    
    

Пример, используемый на сайте Android, использует изображения в качестве рисунков, а не формы, определенные XML (не говоря о том, что моя ошибка специфична для них, и что я не сделал глупой ошибки где-то). Любые подсказки приветствуются, спасибо.


Использование ресурсов для рисования
В ответе на этот вопрос указано, что вы не можете использовать рисуемый XML в качестве источника для растрового изображения.Я изменил заголовок вопроса, чтобы теперь спросить, как вы можете предотвратить масштабирование фигур (тем самым изменяя размер представления контейнера) без использования растрового изображения, или я вынужден использовать фактические ресурсы изображения?


Добавлено изображение желаемого результата — возможность иметь фон с обычной заполненной прямоугольной формой или чем-то еще, а затем накладывать поверх этого дополнительные фигуры (здесь есть 3 эллипса). Слева идеально, где разрешены смещения вверх и влево, а справа все в порядке, где все фигуры просто перемещаются в положение по умолчанию:

enter image description here

10
задан Community 23 May 2017 в 12:18
поделиться