Ho un relativeLayout come di seguito:RelativeLayout Aggiungi regola "RelativeLayout.LEFT_OF" non funziona
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:id="@+id/parent" >
<ListView
android:layout_width="360dp"
android:layout_height="600dp"
android:id="@+id/list"
android:inputType="text"
android:maxLines="1"
android:layout_margin="50dp"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
Nel codice Java, voglio aggiungere una vista a sinistra del ListView, ma non ha lavorato:
m_relativeLayout = (RelativeLayout)findViewById(R.id.parent);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.LEFT_OF, m_listView.getId());
Button button2 = new Button(this);
button2.setText("I am button 2");
m_relativeLayout.addView(button2, layoutParams);
solo se ho impostato il listview a alignParentRight, funzionerà. Si tratta di un bug Android o mi manca qualcosa?
Provo sempre addView(View child, int index, LayoutParams params)
, ma potrebbe funzionare solo nell'output lineare. Quindi c'è una soluzione normale per far funzionare il RelativeLayout.LEFT_OF
?
EDIT
ho cercato RelativeLayout.BELOW
e RelativeLayout.RIGHT_OF
, e hanno funzionato perfettamente, quindi vuol dire che non ho abbastanza spazio per ottenere il pulsante? Ho provato a dare più spazio, ma non funziona ancora.
Uso Toshiba AT100 (1280 * 800) e orizzontale, quindi lo spazio è sufficiente. Prova below
e right
proprio come lo left
. Penso che se metto un controllo A nel relativelayout, poi aggiungo il controllo B e decalcoli sulla sinistra del controllo A, il risultato dovrebbe essere il controllo B spingerà il controllo A alla sua destra, giusto?
Dove viene visualizzata la vista? – Barak
Il relativelayout è la vista principale dell'attività e ha lo spazio per aggiungere il pulsante. – dreamtale
In realtà intendo, il pulsante non appare o appare in un luogo inappropriato? – Barak