У меня есть RelativeLayout, как показано ниже: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, я хочу, чтобы добавить вид слева от ListView, но он не сделал работал:
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);
только если установить ListView в alignParentRight, он будет работать. Это ошибка андроида, или я чего-то не хватает?
Я всегда пробовал addView(View child, int index, LayoutParams params)
, но он может работать только в линейном режиме. Итак, есть ли нормальное решение для работы RelativeLayout.LEFT_OF
?
EDIT
Я попытался RelativeLayout.BELOW
и RelativeLayout.RIGHT_OF
, и они работали отлично, так что это означает, что у меня нет достаточно места, чтобы получить кнопку? Я пытался дать больше места, но он все еще не работает.
Я использую Toshiba AT100 (1280 * 800) и ландшафт, поэтому достаточно места. Тест below
и right
так же, как и у left
. Я думаю, что если я поставил элемент управления A в relativelayout, тогда я добавлю управление B и decalare, это слева от элемента управления A, результатом должен быть элемент управления B, который будет управлять A вправо, правильно?
Где появляется представление? – Barak
Relativelayout является основным видом деятельности, и в нем есть место для добавления кнопки. – dreamtale
Я действительно имею в виду, что кнопка просто не появляется или появляется в неприемлемом месте? – Barak