私は以下のような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コードで、リストビューの左側にビューを追加したいのですが、機能しませんでした。
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)
ますが、linearlayoutでしか機能しない可能性があります。それで、RelativeLayout.LEFT_OF
仕事をするための通常の解決策はありますか?
編集
私は試してみRelativeLayout.BELOW
ましRelativeLayout.RIGHT_OF
たが、それらは完璧に機能したので、ボタンを取得するのに十分な場所がないということですか?もっとスペースを与えようとしましたが、それでもうまくいきません。
私はToshibaAT100(1280 * 800)とランドスケープを使用しているので、十分なスペースがあります。テストbelow
して、とright
同じleft
です。コントロールAを相対レイアウトに配置し、コントロールBを追加して、コントロールAの左側にあることをデカレーレすると、コントロールBがコントロールAを右にプッシュするはずです。