Как получить цвет фона формы кнопок?
У меня есть 9 пользовательских круглых кнопок, при нажатии на которые открывается палитра цветов, а кнопка "Сохранить" в нижней части окна отображает все данные.
Моя проблема в том, что я не могу получить цвет правильно. И также код может получить данные выше 24 версии. Это также бесполезно. Образец кода
Этот код вызывается каждый раз, когда нажимается кнопка. Он получает значение цвета из палитры цветов.
GradientDrawable c1, c2;
Button mcbt_1,mcbt_2;
// this function gets call everytime button is clicked ,it sets the color to the background and maintain the shape of button to circle.
public void onColorSelected(int color) {
switch (buttonSelected) {
case 1:
c1 = (GradientDrawable) Mcbt_1.getBackground();
c1.setColor(color);
break;
case 2:
c2 = (GradientDrawable) Mcbt_2.getBackground();
c2.setColor(color);
break;
}
}
Этот код получает цвет фона кнопок, представленных в представлении. Но основная проблема заключается в поддержке версии. а также данные, которые я получаю, это последнее значение цвета кнопки. например: если int color1 = (-15210) для кнопки 1 и int color2 =(-15700), то когда я получу значение, используя это
c1 = (GradientDrawable) Mcbt_1.getBackground();
color_BT_1 = c1.getColor().getDefaultColor();
из приведенного выше кода я получаю color_BT_1 как -15700 и color_BT_2 как -15700.
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
c1 = (GradientDrawable) Mcbt_1.getBackground();
color_BT_1 = c1.getColor().getDefaultColor();
c2 = (GradientDrawable) Mcbt_2.getBackground();
color_BT_2 = c2.getColor().getDefaultColor();
String edColor = color_BT_1 + "," + color_BT_2 ;
}