RelativeLayout добавить правило «RelativeLayout.LEFT_OF» не работает
У меня есть относительный план, как показано ниже:
<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>
В коде Java я хочу добавить представление слева от списка, но это не сработало:
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);
только если я установилalignParentRight, это будет работать. Это ошибка Android или я что-то упустил?
Я всегда стараюсьaddView(View child, int index, LayoutParams params)
, но это может работать только в линейном макете. Так есть ли нормальное решение, чтобы сделатьRelativeLayout.LEFT_OF
Работа?
EDIT
я пыталсяRelativeLayout.BELOW
а такжеRelativeLayout.RIGHT_OF
и они работали отлично, значит, у меня недостаточно места, чтобы получить кнопку? Я пытался дать больше места, но это все еще не работает.
Я использую Toshiba AT100 (1280 * 800) и альбомную ориентацию, поэтому места достаточно. Тестовое заданиеbelow
а такжеright
так же, какleft
, Я думаю, что если я помещу элемент управления A в относительное расположение, то я добавляю элемент управления B и декаляризирую его слева от элемента управления A, в результате элемент управления B будет перемещать элемент управления А вправо, верно?