RelativeLayout dodaj regułę „RelativeLayout.LEFT_OF” nie działa
Mam relację względną, jak poniżej:
<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>
W kodzie java chcę dodać widok po lewej stronie widoku listy, ale nie zadziałał:
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);
tylko jeśli ustawię widok listy naalignParentRight, to będzie działać. Czy to jest androidowy błąd, czy coś mi brakuje?
Zawsze próbujęaddView(View child, int index, LayoutParams params)
, ale może to działać tylko na liniowej linijce. Czy więc istnieje normalne rozwiązanieRelativeLayout.LEFT_OF
praca?
EDYTOWAĆ
próbowałemRelativeLayout.BELOW
iRelativeLayout.RIGHT_OF
, i działały doskonale, więc oznacza to, że nie mam dość miejsca, by zdobyć przycisk? Starałem się dać więcej miejsca, ale nadal nie działa.
Używam Toshiba AT100 (1280 * 800) i krajobrazu, więc wystarczy miejsca. Testbelow
iright
tak samo jakleft
. Myślę, że jeśli ustawię kontrolkę A w relativelayout, to dodam kontrolkę B i dekalację po lewej stronie kontrolki A, wynikiem powinno być, że kontrolka B popchnie kontrolkę A w prawo, prawda?