Uso RelativeLayouts estesamente nella mia app e ho pensato di sapere come specificarli, ma questo mi ha perso. In pratica sto posizionando 4 TextView in due righe di due, ciascuna composta da un'etichetta e un testo che verranno forniti. Dovrebbe essere qualcosa di simile:Android layout_below non funziona
Nato: 23 agosto 1810 Mason Co., Kentucky
Morto: 15 luglio 1865 Cincinnati, Hamilton Co., Ohio
Questa è la quota di competenza del layout:
<TextView android:id="@+id/birth_lbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/given_layout"
android:layout_alignLeft="@+id/given_layout"
android:layout_marginTop="6dip"
style="@style/label"
android:text="@string/born"
/>
<TextView android:id="@+id/birth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/birth_lbl"
android:layout_alignBaseline="@+id/birth_lbl"
android:layout_marginLeft="10dip"
android:layout_marginRight="6dip"
style="@style/main_text"
android:text="dd Mmm yy"
/>
<TextView android:id="@+id/death_lbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/birth"
android:layout_alignLeft="@+id/birth_lbl"
android:layout_marginTop="4dip"
style="@style/label"
android:text="@string/died"
/>
<TextView android:id="@+id/death"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/death_lbl"
android:layout_alignLeft="@+id/birth"
android:layout_alignBaseline="@+id/death_lbl"
android:layout_marginRight="6dip"
style="@style/main_text"
android:text="dd Mmm yy"
/>
Per qualche motivo, questo visualizza le visualizzazioni della linea di morte SOPRA le visualizzazioni della linea di nascita! Se cambio le specifiche della vista death_lbl per essere invece 'layout_below = "@ + id/birth_lbl"', le linee sono posizionate correttamente! Tuttavia, è possibile che la vista "nascita" si sposti su più righe, quindi ho davvero bisogno di posizionare la seconda riga sotto "nascita", non "birth_lbl".
Qualcuno conosce il motivo di questo comportamento? Si verifica sia nell'editor Layout grafico in Eclipse che in runtime sul mio tablet con Android 4.0.
Il segno '+' nella dichiarazione 'id' dovrebbe essere usato solo alla prima comparsa di 'id'. Dovresti modificare e pubblicare il file di layout completo per vedere le viste extra che usi ('given_layout'?).L'ho provato nell'emulatore e per il mio funziona, ma ovviamente non ho la vista 'given_layout' in più. – Luksprog
È perché, come ha detto Slukian, non sai nemmeno cosa stai facendo ... Smetti di usare il '+' dove vuoi e prova a considerare che ognuno di + hai è come creare una nuova variabile ... È anche carina strano che il compilatore non dica una parola su quello ... – Cehm
Più delicatamente qui! Il compilatore di Android 21 mette questi elementi positivi quando si utilizza il "design". Il motivo per cui facciamo domande è che, come dici tu, non lo sappiamo. – user462990