Я использую цвет фона на изображении, чтобы сделать цвет прямоугольника, и я хочу постепенно превращаться в более светлый цвет с помощью искателя, удаляя RG или B из шестнадцатеричного цвет. Как я могу это сделать без написания миллиона строк кода? Это пример того, что я хочу, чтобы экспериментировать с одной коробкой. https://d396qusza40orc.cloudfront.net/cmsc436/Labs/ModernArtUI/modernUI.mp4Android: изменение цвета постепенно для нескольких фоновых изображений изображений с помощью seekbar
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
if (i >= 25 && i < 50) {
imageView.setBackgroundColor(Color.BLUE);
} else if (i >= 50 && i < 75) {
imageView.setBackgroundColor(Color.GREEN);
} else if (i >= 75 && i <= 100) {
imageView.setBackgroundColor(Color.YELLOW);
} else {
imageView.setBackgroundColor(Color.WHITE);
}
}
Ответ найдено:
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
iv1.setBackgroundColor(Color.argb(0xFF, i, i, 200));
}
В зависимости от того, какого цвета вы хотите, установите максимальный на SeekBar до 255, и вы можете играть с числами, чтобы получить желаемый цвет на постепенном изменение. Также отличная рекомендация при поиске цвета http://www.tayloredmktg.com/rgb/
'GradientDrawable' может позаботиться о том, чтобы вы рисовать линейные градиенты для вас, если вы снабдите его базовыми цветами. Хотя вы можете предоставить максимум трех цветов при определении в XML, фактическая реализация на Java не имеет таких ограничений. – corsair992