Смена двух цветов Button относительно коэффициента

Рейтинг: 0Ответов: 1Опубликовано: 09.04.2015

Есть одна кнопка. Залитая одним цветом. При изменении условного параметра например от 0 до 100, кнопка заполняется слева на право другим цветом. Эффект как в прогресс баре.

Вопрос 1. Как залить двумя разными цветами одну кнопку? Не градиентом, а Solid color

Вопрос 2. Как управлять этими параметрами, если к примеру на входе void UpdateButtonBackground (color1, color2, percent).

Ответы

▲ 4Принят

Могу предложить сделать

public class CustomDrawable extends Drawable {
int color1;
int color2;
int percent;
paint mPaint;

//Передпределить draw
    @Override
    public void draw(Canvas canvas) {
        mPaint.setColor(color1);
        //параметры для drawRect соответственно вычисляем из длинны и percent
        canvas.drawRect();
        mPaint.setColor(color2);
        canvas.drawRect();
    }
}

Ну а этот drawable Уже вешать на кнопку.