Nils
- Forum-Beiträge: 8
09.01.2013, 20:59:54 via Website
09.01.2013 20:59:54 via Website
Hallo zusammen,
Ich arbeite an einer App: auf einer Seite tritt ein Problem auf.
Ich habe ein Layout definiert. Dieses hat eine Kopfzeile (ein LinearLayout(horizontal)) in welchem sich vier TextViews befinden. Unter der Kopfzeile folgt ein ScrollView. In diesem befinden sich nun ein Linearlayout(horizontal) und in diesem vier vertikale LinearLayouts. Diese werden später befüllt werden.
In der Befüllungsmethode werden den vier LinearLayouts gleichmäßig viele TextViews hinzugefügt.
Jetzt kommt das Problem: Ich möchte das die TextViews der Kopfzeile jeweils genauso breit sind wie die dazugehörigen Linearlayouts im ScrollView.
Ich habe das wie folgt versucht zu lösen:
Ich musste jedoch jetzt feststellen, dass ich bei getWidth für die LinearLayouts immer 0 zu diesem Zeitpunkt erhalten. Wenn ich später jedoch nochmal die Größe abfrage, erhalte ich die richtige Breite.
Wie kann ich eine Methode einrichten die aufgerufen wird sobald die LinearLayouts ihre Größe angenommen haben ohne diese nachträglich selbst zu starten?
Gruß,
Nils
PS:
Die App wird für Android 2.2 geschrieben.
Ich arbeite an einer App: auf einer Seite tritt ein Problem auf.
Ich habe ein Layout definiert. Dieses hat eine Kopfzeile (ein LinearLayout(horizontal)) in welchem sich vier TextViews befinden. Unter der Kopfzeile folgt ein ScrollView. In diesem befinden sich nun ein Linearlayout(horizontal) und in diesem vier vertikale LinearLayouts. Diese werden später befüllt werden.
In der Befüllungsmethode werden den vier LinearLayouts gleichmäßig viele TextViews hinzugefügt.
Jetzt kommt das Problem: Ich möchte das die TextViews der Kopfzeile jeweils genauso breit sind wie die dazugehörigen Linearlayouts im ScrollView.
Ich habe das wie folgt versucht zu lösen:
1TextView t1,t2,t3,t4=findView....//kopfzeile
2LinearLayout l1,l2,l3,l4=findView ....//die Spalten
3t1.setWidth(l1.getWidth());
4t2.setWidth(l2.getWidth());
5t3.setWidth(l3.getWidth());
6t4.setWidth(l4.getWidth());
Das ganze wird direkt nach dem Befüllen aufgerufen. Die Views werden natürlich zuvor ordnungsgemäß geladen, hab das hier mal gekürzt.2LinearLayout l1,l2,l3,l4=findView ....//die Spalten
3t1.setWidth(l1.getWidth());
4t2.setWidth(l2.getWidth());
5t3.setWidth(l3.getWidth());
6t4.setWidth(l4.getWidth());
Ich musste jedoch jetzt feststellen, dass ich bei getWidth für die LinearLayouts immer 0 zu diesem Zeitpunkt erhalten. Wenn ich später jedoch nochmal die Größe abfrage, erhalte ich die richtige Breite.
Wie kann ich eine Methode einrichten die aufgerufen wird sobald die LinearLayouts ihre Größe angenommen haben ohne diese nachträglich selbst zu starten?
Gruß,
Nils
PS:
Die App wird für Android 2.2 geschrieben.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.