Me gustaría redondear las esquinas de una vista y también cambiar el color de la vista según el contenido en tiempo de ejecución.
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);
Tenía la esperanza de establecer un dibujo y el color se superpondría, pero no es así. Cualquiera que ejecute en segundo lugar es el fondo resultante.
¿Hay alguna forma de crear esta vista mediante programación, teniendo en cuenta que el color de fondo no se decidirá hasta el tiempo de ejecución?
editar: solo estoy cambiando entre rojo y azul ahora para probar. Posteriormente, el usuario podrá elegir el color.
editar:
tags_unded_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
?