を働いていない「RelativeLayout.LEFT_OF」ルールを追加します。JavaコードでRelativeLayoutは、私は以下のように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>
を、私はリストビューの左側にビューを追加したいが、それはしませんでした働い:
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にリストビューを設定した場合にのみ、それが動作します。これはアンドロイドのバグですか、何か不足していますか?
私はいつもaddView(View child, int index, LayoutParams params)
を試していますが、リニアレイアウトでしか動作しない可能性があります。だから、RelativeLayout.LEFT_OF
を動作させるための通常の解決法はありますか?
EDIT
私はRelativeLayout.BELOW
とRelativeLayout.RIGHT_OF
を試してみました、そして、彼らは完璧に働いていたので、それは私がボタンを取得するのに十分な場所を持っていないことを意味?スペースを増やそうとしましたが、それでも動作しません。
私は東芝AT100(1280 * 800)と風景を使用しているので、十分なスペースです。試験below
およびright
は、left
とまったく同じです。私は、私は、relativelayoutでコントロールAを入れたら、私はコントロールBを追加し、コントロールAの左にあるデカール結果は、コントロールBは右にコントロールAを押すだろうか?
ビューはどこに表示されますか? – Barak
relativelayoutはアクティビティのメインビューで、ボタンを追加するスペースがあります。 – dreamtale
私は実際には、ボタンが表示されない、または不適切な場所に表示されますか? – Barak