Назначение свойства android для файла XML с небольшими изменениями - PullRequest
0 голосов
/ 27 ноября 2018

Это может быть что-то базовое, но я нигде не смог найти решение.Итак, предположим, у меня был файл .xml с именем properties.xml в папке drawable.Скажем, это выглядит примерно так:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        <shape
            android:shape="rectangle">
            <corners
                android:radius="10dp"/>
            <solid android:color="@color/GreenGray">

        </shape>
    </item>
</selector>

Если у меня несколько кнопок в моем activity_main.xml, и я хочу, чтобы у всех них был задан фон properties.xml, есть ли способ изменить ТОЛЬКОцвета фона кнопок, чтобы все они отличались друг от друга, не создавая совершенно новый xml-файл для каждой кнопки?

Что-то вроде того, как с классами с помощью css вы можете установить объект в класс иизменить только конкретные свойства этого класса?

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете попробовать это:

//get the button by id which you want do modify 
Button myBtn = (Button) findViewById(R.id.your_btn_id);

//get drawable from button
GradientDrawable drawable = (GradientDrawable) myBtn.getDrawable();

//set color
drawable.setColor(color)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...