J'essaie d'obtenir un élément de couleur en utilisant getresources.getColor(resource id)
mais Android me dit qu'il a été obsolète utiliser getresources.getColor(resource id, theme)
.Comment utiliser la nouvelle version de getresources(). GetColor?
Comment puis-je dire quel thème utiliser? J'ai essayé R.style.AppTheme mais je reçois une erreur (getColor (R.color.notepad_margin) getResources().) Car cela est une valeur 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;
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 (toile 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();
}}
Toute aide est grandement appréciée.
Oui. C'est la manière recommandée de gérer différentes API. – Gary99
L'utilisation de null en tant que thème efface l'erreur, mais l'application ne démarre pas. – user182162
J'ai essayé d'utiliser ContextCompat mais je continue d'obtenir des erreurs de version sur le sdk – user182162