我有一个如下的relativeLayout:
<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);
只有当我将列表视图设置为alignParentRight时,它才会起作用。这是一个android错误还是我错过了什么?
我总是尝试addView(View child, int index, LayoutParams params)
,但它可能只适用于线性布局。那么有没有正常的解决方案来完成这项RelativeLayout.LEFT_OF
工作?
编辑
我已经尝试过RelativeLayout.BELOW
and RelativeLayout.RIGHT_OF
,并且它们工作得很好,所以这意味着我没有足够的地方来获取按钮?我试图给更多的空间,但它仍然不起作用。
我用的是东芝AT100(1280*800)和风景,所以空间够用。测试below
和right
一样left
。我想如果我将控件 A 放在相对布局中,然后我添加控件 B 并将其标记在控件 A 的左侧,结果应该是控件 B 将控件 A 推到其右侧,对吗?