Intereting Posts
Проверка InAppPurchase и отдельный сервер для логики игры Android: Детектор дрожания слишком чувствителен OnCreateOptionsMenu () не вызывается в фрагменте Android: Скрытие клавиатуры в переопределенном «Готово» нажатии EditText Динамический добавочный элемент для NavigationView в Android Как получить GridView, который адаптирует его высоту при добавлении элементов JNI: передача нескольких параметров в сигнатуре функции для GetMethodID Перезапустить службу для приложения на SD-карте при перезагрузке SD-карты PCM -> AAC (Encoder) -> PCM (декодер) в режиме реального времени с правильной оптимизацией Есть ли способ определить, работает ли приложение Android в полноэкранном режиме? Samsung Galaxy S4 сопоставляет значок Actionbar Есть ли способ передать параметры установщику на рынке для приложения Получите размер файлового ресурса Android? Android: укажите два разных изображения для переключателя с помощью XML Приложение сбойной базы данных базы данных Firebase

Как программно изменить список слоев в Android?

У меня есть список слоев, заданный в качестве фона для Textview: –

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Bottom 2dp Shadow --> <item> <shape android:shape="rectangle" > <solid android:color="@android:color/black" /> <corners android:radius="15dp" /> </shape> </item> <!-- Blue Top color --> <item android:bottom="1.5px" android:right="1px"> <shape android:shape="rectangle" > <solid android:color="#2E93FA" /> <corners android:radius="15dp" /> </shape> </item> 

 <solid android:color="#2E93FA" /> <corners android:radius="15dp" /> 

-> Мне нужно показать разные цвета в списке для этого списка слоев.

Мне нужно модифицировать Second Item программно с помощью кода (динамически). Может ли кто-нибудь помочь?

Solutions Collecting From Web of "Как программно изменить список слоев в Android?"

Посмотрите на LayerDrawable потому что он создан из вашего XML и используется во время выполнения.

Пример:

My_drawable.xml :

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/gradientDrawble"> <shape android:shape="rectangle" > <gradient android:endColor="#897343" android:startColor="#345456" /> <corners android:radius="15dp" /> </shape> </item> 

Изменить во время выполнения:

 LayerDrawable layerDrawable = (LayerDrawable) getResources() .getDrawable(R.drawable.my_drawable); GradientDrawable gradientDrawable = (GradientDrawable) layerDrawable .findDrawableByLayerId(R.id.gradientDrawble); gradientDrawable.setCornerRadius(50);