我想要使用getresources.getColor(resource id)
獲取顏色元素,但是android會告訴我它已被棄用使用getresources.getColor(resource id, theme)
。如何使用新版本的getresources()。getColor?
如何告訴它使用什麼主題?我曾嘗試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 公共無效的onDraw(帆布帆布){ 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();
} }
任何幫助不勝感激。
是的。這是處理支持不同API的推薦方式。 – Gary99
使用null作爲主題清除錯誤,但應用程序無法啓動。 – user182162
我試過使用ContextCompat,但我不斷收到版本錯誤的sdk – user182162