0

ビューを動的に追加するときにXMLattrのようなことをしたい:

android:layout_alignRight="@+id/myView1">

私のアクティビティコード:

button1.setOnClickListener(new View.OnClickListener(){
            @Override public void onClick(View v) {
            RelativeLayout ll = (RelativeLayout)findViewById(R.id.aincrad);

            TextView view = new TextView(Activity.this); 
            RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams
                         (RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);

            layoutParams.addRule(RelativeLayout.ALIGN_RIGHT,R.id.Btn1Holder);  

            view.setText("testing...");

            view.setLayoutParams(layoutParams);
            ll.addView(view, layoutParams);
}});

結果は、新しいテキストビューをBtn1Holderの右側に揃える必要があります

4

1 に答える 1

1

これが正しいアプローチかどうかはわかりませんがsetLayoutParams、ビューをレイアウトに追加する前に呼び出す必要があると思います。

一方、ビューがすぐそこにあることを確認したい場合は、それをxmlに追加して、コードから可視性をトリガーするように設定できます。

UPDATE: AlignRight 「このビューの右端を、指定されたアンカー ビュー ID の右端と一致させます。」これは、レイアウトがターゲットの下にあり、それらの端を揃えたい場合に機能することを意味します。「子の左端を別の子の右端に揃えるルール」である RIGHT_OF を使用する必要があります。

于 2013-03-23T08:43:50.220 に答える