Je voudrais arrondir les coins d'une vue et également changer la couleur de la vue en fonction du contenu au moment de l'exécution.
TextView v = new TextView(context);
v.setText(tagsList.get(i));
if(i%2 == 0){
v.setBackgroundColor(Color.RED);
}else{
v.setBackgroundColor(Color.BLUE);
}
v.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
v.setPadding(twoDP, twoDP, twoDP, twoDP);
v.setBackgroundResource(R.drawable.tags_rounded_corners);
J'espérais que définir un dessin et une couleur se chevaucheraient, mais ce n'est pas le cas. Celui que j'exécute en second est le fond résultant.
Existe-t-il un moyen de créer cette vue par programme, en gardant à l'esprit que la couleur d'arrière-plan ne sera pas décidée avant l'exécution?
edit: Je passe uniquement du rouge au bleu pour le test. Plus tard, la couleur pourra être choisie par l'utilisateur.
Éditer:
tags_rounded_corners.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
android:bottomRightRadius="2dp"
android:bottomLeftRadius="2dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp"/>
</shape>
tags_rounded_corners
?