Я пытаюсь загрузить фигуру, используя нарисованные программно, чтобы сделать цвет фона более стильным.
По сути, загрузка фигуры с использованием XML-файла проста:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:startColor="#ffffff"
android:centerColor="#00ffff"
android:endColor="#000000"
android:type="linear"
android:angle="90"/>
Однако я пытаюсь загрузить этот XML-файл с сервера , так как он должен изменяться сезонно.(Например, весна - розовая, лето - синей, а осень - оранжевой)
После загрузки файла XML, который находится в /data/data/package/resources/shape.xml, япопытался загрузить этот набор цветов фона с помощью GradientDrawable, так как все дело в градиенте.
Существует множество практических руководств по созданию нового градиента, но не о применении предварительно загруженного градиента.
Я пробовал это:
view.setBackground(GradientDrawable.createFromPath("/data/data/package/resources/shape.xml"));
Здесь представление - это файл активности, например, RelativeLayout или что-то еще
Однако результат - этоЦвет фона по умолчанию - синий.
Теперь я изменил рисование на:
view.setBackground(ShapeDrawable.createFromPath("/data/data/package/resources/shape.xml"));
Я изменил параметр рисования на ShapeDrawable, так как XML содержит Shape
Результат тот же, ничего не изменилось.Переключение на обычное рисование не помогает решить проблему.
Есть ли другой способ применить файл XML из внешнего хранилища к рисованию?Иначе, что я написал, это метод применения, но есть некоторые ошибки?