Как использовать новую версию getresources(). GetColor?

Я пытаюсь получить элемент цвета, используя getresources.getColor(resource id) но андроид говорит мне, что это устарело использование getresources.getColor(resource id, theme),

Как мне сказать, какую тему использовать? я пытался R.style.AppTheme но я получаю ошибку, так как это значение типа int

public class TodoListItemView extends AppCompatTextView {
    public TodoListItemView(Context context, AttributeSet attributeSet, int ds) {
        super(context, attributeSet, ds);
        init();
    }

    public TodoListItemView(Context context) {
        super(context);
        init();
    }

    public TodoListItemView(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
        init();
    }

    private Paint marginPaint;
    private Paint linePaint;
    private int paperColor;
    private float margin;

    private void init() {
        Resources myResources = getResources();
        marginPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        marginPaint.setColor(getResources().getColor(R.color.notepad_margin));
        linePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        linePaint.setColor(myResources.getColor(R.color.notepad_lines));
        paperColor = myResources.getColor(R.color.notepad_paper);
        margin = myResources.getDimension(R.dimen.notepad_margin);
    }

    @Override
    public void onDraw(Canvas canvas) {
        canvas.drawColor(paperColor);
        canvas.drawLine(0, 0, getMeasuredHeight(), 0, linePaint);
        canvas.drawLine(0, getMeasuredHeight(), getMeasuredWidth(), getMeasuredHeight(), linePaint);

        canvas.drawLine(margin, 0, margin, getMeasuredHeight(), marginPaint);

        canvas.save();
        canvas.translate(margin, 0);

        super.onDraw(canvas);
        canvas.restore();
    }
}

Любая помощь с благодарностью.

2 ответа

Использование ContextCompat.getColor(context, R.color.your_color);

Спасибо за весь вклад. ContextCompat.getColor работал, чтобы исправить ошибки. Интерфейс, ошибки перечисления были из-за посторонней закрывающей скобки.

Моя единственная жалоба в том, что теперь приложение не запускается. На эмуляторе появляется сообщение о том, что приложение перестало работать. Нет возможности проверить изменения.

Другие вопросы по тегам