Создание формы с использованием рисования - PullRequest
0 голосов
/ 10 июня 2018

Когда вы создаете проект приложения для Android, существует файл предустановки цвета фона, например:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
   <gradient
      android:startColor="#ffffff"
      android:centerColor="#00ffff"
      android:endColor="#000000"
      android:type="linear"
      android:angle="90"/>

Использование строкового значения android: startColor, android: centerColor, android: endColor, android: type,android: угол, как мы можем сделать этот градиент программно?

1 Ответ

0 голосов
/ 10 июня 2018

Попытайтесь вдохновиться этим кодом, я думаю, что вы получите основную идею:

GradientDrawable drawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[]{startColor, endColor});
drawable.setStroke(strokeIntLength, strokeColor);

GradientDrawable drawableSelected = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[]{startColorDark, endColorDark});
drawableSelected.setStroke(strokeIntLength, strokeColorDark);

StateListDrawable states = new StateListDrawable();
states.addState(new int[]{android.R.attr.state_selected, android.R.attr.state_pressed}, drawable);
states.addState(new int[]{android.R.attr.state_pressed}, drawableSelected);
states.addState(new int[]{android.R.attr.state_selected}, drawableSelected);
states.addState(new int[]{android.R.attr.state_checked}, drawableSelected);
states.addState(new int[]{}, drawable);

button.setBackgroundDrawable(states);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...