Gibbsnich
Ambitioniertes Mitglied
- 0
Hallo,
ich will eine Liste anzeigen und den aktiven Eintrag mit einer anderen Hintergundfarbe markieren. Android deutet die Markierung nur kurz an, aber ich brauche sie permanent.
Eine gute Anleitung dafür findet ihr hier:
http://bestsiteinthemultiverse.com/2009/12/android-selected-state-listview-example/
Nun klappt im Prinzip alles, aber die TextViews gehen nicht über die ganze Breite, sondern reduzieren sich auf die Textbreite. Wenn ich das Handy quer halte und scrolle, sind irgendwann alle TextViews in der gleichen Breite (und würden im Hochformat passen), drehe ich aber auf das Hochformat, habe ich wieder die zu kurzen Texte und das sieht so aus:
Wie schaffe ich es, dass alle Texte über den gesamten Bildschirm gehen?
Mein Adapter liefert die TextView so:
Die Layoutdatei dazu:
Ich hatte erst ein auf LinearLayout als Basis, aber das brachte keinen Vorteil.
Was muss ich tun? Und warum funktioniert das im Querformat fast richtig??
ich will eine Liste anzeigen und den aktiven Eintrag mit einer anderen Hintergundfarbe markieren. Android deutet die Markierung nur kurz an, aber ich brauche sie permanent.
Eine gute Anleitung dafür findet ihr hier:
http://bestsiteinthemultiverse.com/2009/12/android-selected-state-listview-example/
Nun klappt im Prinzip alles, aber die TextViews gehen nicht über die ganze Breite, sondern reduzieren sich auf die Textbreite. Wenn ich das Handy quer halte und scrolle, sind irgendwann alle TextViews in der gleichen Breite (und würden im Hochformat passen), drehe ich aber auf das Hochformat, habe ich wieder die zu kurzen Texte und das sieht so aus:
Wie schaffe ich es, dass alle Texte über den gesamten Bildschirm gehen?
Mein Adapter liefert die TextView so:
Code:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.form_combobox_liste, null);
}
TextView tv = (TextView) v.findViewById(R.id.cboxRow2);
if(selectedPos == position){
tv.setBackgroundColor(colorSelected);
}else{
tv.setBackgroundColor(colorUnselected);
}
tv.setText(this.getItem(position).toString());
return(v);
}
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_gravity="fill_horizontal">
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:textSize="24sp" android:textColor="#000000" android:text="@string/app_name"
android:background="@drawable/web_view_border" android:id="@+id/cboxRow2"
android:layout_gravity="fill_horizontal|center_horizontal" />
</FrameLayout>
Was muss ich tun? Und warum funktioniert das im Querformat fast richtig??