Установите цвет фона в представлении макета на градиент в Android?

Как указать, что фоновый «цвет» элемента представления макета Android должен быть градиентом (под определенным углом)?

Я хочу указать это в XML, то есть не во время выполнения. Желательно, как стиль, который я могу применить к любому макету, который я хотел бы использовать со style ?

Создать gradient.xml в /res/drawable :

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FFFFFF" android:endColor="#00000000" android:angle="45"/> </shape> 

И в вашем main.xml макета main.xml в /res/layout :

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/gradient" > </LinearLayout> 

Вы можете указать угол, заменив значение android:angle и начальный / конечный цвет, заменив android:startColor and android:endColor

Вы можете использовать что-то вроде этого:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#A1A1A1" android:centerColor="#BDBDBD" android:endColor="#A4A4A4" android:angle="-90" /> </shape> 

Для создания градиента (вы выбираете цвета, которые вам нравятся). Поместите это в drawable и voila, у вас есть собственная форма для использования в качестве фона: android:background="@drawable/the_name_of_your_xml"

Вот как я установил стиль градиента. Надеюсь это поможет. Но я использовал его для textview. Возможно, вам нужно внести некоторые изменения в соответствии с вашим макетом.

  Shader textShader = new LinearGradient(0, 0, 0, 20, new int[] { Color.WHITE, getResources().getColor(//some color), getResources().getColor(//some color), Color.WHITE }, new float[] { 0.25f,0.50f,0.75f, 1 }, TileMode.CLAMP); textview.getPaint().setShader(textShader); 
Intereting Posts
Открытие приложения в Google Play с помощью ссылки перенаправления В чем разница между старой цепью инструментов android ndk r9 и Android ndk r9 на Windows 64 Странное поведение с selectAllOnFocus, когда EditText находится в ListView Как обращаться с «бесконечными» веб-страницами? Как воспроизводить звук по умолчанию TICK? Как вручную включить внешний пакет aar с использованием новой системы сборки Gradle Android Создание проекта с андроидами андроида через Maven Активность просочилась в окно – Android Как определить «инфляцию» в Android Gradle: выполнение не выполнено для компиляции задачиReleaseAidl GetUidRxBytes () и getUidTxBytes () всегда возвращают 0 в Android 4.3 Как использовать отслеживание ссылок Google Analytics в Google Play? DatePicker не работает при попытке использовать его Как получить несколько уведомлений с помощью GCM без замены прецедента? Плагин Android Eclipse: контрольно-измерительный тест Runner не указан