Ich habe eine RelativeLayout
so:
<RelativeLayout>
<TextView1/>
<TextView2/> // <-- View.VISIBLE OR View.GONE
<TextView3/>
<TextView4/>
</RelativeLayout>
Jeder TextView
ist unter dem vorherigen TextView
mit verankert android:layout_below
.
Das Problem ist, dass TextView2 möglicherweise vorhanden ist oder nicht (entweder View.VISIBLE
oder View.GONE
). Wenn ja View.VISIBLE
, ist alles in Ordnung, aber wenn View.GONE
ja, wird TextView3 über TextView1 gerendert.
Ich habe verschiedene Möglichkeiten ausprobiert, um dies zu beheben, aber jedes Mal, wenn RelativeLayout
Sie von 's' überrascht werden, können Sie nicht auf eine ID verweisen, bevor diese als 'Regel' definiert ist.
Ich hoffe, dass mir hier etwas Offensichtliches fehlt.
RelativeLayout
verfügt über einen eingebetteten Mechanismus zum Auffinden der nächstgelegenen Nicht-GONE-Ankeransicht. Ich habe bei Gingerbread nachgesehen und es ist sogar dort vorhanden: github.com/aosp-mirror/platform_frameworks_base/blob/…