Chciałbym zaokrąglić rogi widoku, a także zmienić kolor widoku na podstawie zawartości w czasie wykonywania.Jak programowo zaokrąglić rogi i ustawić losowe kolory tła
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);
Miałem nadzieję, że ustawiam możliwość losowania, a kolory będą się nakładać, ale nie. Niezależnie od tego, które wykonam drugie, jest wynikowe tło.
Czy istnieje sposób programowego utworzenia tego widoku, pamiętając, że kolor tła nie zostanie rozstrzygnięty do czasu wykonania?
edytuj: Zmieniam teraz tylko kolor czerwony i niebieski na testowanie. Później kolor będzie można wybrać przez użytkownika.
edit:
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>
Oczywiście kolor tła i obraz tła zastępują się nawzajem. Co próbujesz osiągnąć? Czym jest 'tags_rounded_corners'? –
Czy możesz pokazać więcej kodów? Wygląda dobrze, więc zastanawiam się, czy możesz użyć rodzaju listView lub ponownego użycia istniejącego tekstu. – Chansuk
Sprawdź to http://www.gadgetsaint.com/tips/rounded-corners-views-layouts-android/#.WPz2QVN97BI – ASP