Пользовательские цвета фона с разными градиентами

#android #android-layout #background

#Android #android-макет #фон

Вопрос:

На самом деле, я хочу применить это в качестве фона для страниц моего приложения для Android, но я хочу записать его в XML, и я не знаю, с чего мне начать?введите описание изображения здесь

Комментарии:

1. преобразование в svg и импорт в качестве векторного ресурса. насколько мне известно, использование полноэкранных XML-чертежей вызывает проблемы с производительностью. для этого требуется чертовски много времени. рекомендуется использовать изображения в формате jpg везде, где это возможно

2. но если я использовал его как изображение, мне нужно изменить его размер в соответствии с различными размерами экрана и плотностью, верно?

3. для этого поместите изображение в папку nodpi. для повышения производительности используется другой размер отрисовываемых объектов. чтобы узнать разницу, см. Раздел Android monitor для различных рассмотренных случаев

Ответ №1:

На самом деле вы знаете, как это сделать. Gradient , GradientDrawable это ключ.

Приятно прочитать этот огромный учебник по рисованию / источник: Drawables. Для поиска градиента в этом заголовке: градиентные цветные фигуры

Также более короткий: градиент, который можно рисовать в android.

Также, если вы хотите сделать это через styles.xml , просто добавьте эту строку в свою тему. По умолчанию это будет добавлено background.xml ко всем вашим действиям.

 <item name="android:windowBackground">@drawable/background</item>
  

Не забывайте, что вы также можете устанавливать простые цвета подобным образом :

 <item name="android:windowBackground">#AA123456</item>
  

Если вы хотите изменить цвет фона активности, чтобы фон можно было рисовать программно, я использую этот способ :

 //for color
getWindow().getDecorView().setBackgroundColor(yourdesiredcolor);
//for drawable,eg gradient
getWindow().getDecorView().setBackground(yourdesireddrawable);
  

Комментарии:

1. Я рад вам помочь. Счастливого кодирования.

2. 1 для amswer, но здесь не хватает нескольких моментов, связанных с производительностью. если yoi тоже сможет их добавить, то будущие посетители этого ответа получат выгоду

3. @MohammedAtif спасибо за хорошее указание. Я быстро ответил на этот вопрос, потому что был снаружи. Вы можете предложить изменения для этого ответа, и мне действительно интересно их увидеть.