0

ここに画像の説明を入力ボタンのクリック時に相対レイアウトにカスタム レイアウトを追加する必要があります。再度別のクリックで、前の膨張したレイアウトの上に別の値を持つ同じレイアウトを追加します。と、このように続きます。リストビューを使用したくありません。

カスタムレイアウトを動的に追加できますが、以前に追加したものの上に配置する方法.

ADD ボタンをクリックすると、ROW 1、ROW 2 のように新しい行が xml の相対的なレイアウトに追加され、これは ROW 3、ROW 4 などに続きます。

4

2 に答える 2

1

RelativeLayout.LayoutParamsクラスのaddRuleメソッドを使用できます。例えば:

RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)button.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.LEFT_OF, R.id.id_to_be_left_of);

button.setLayoutParams(params); 

これを行うと、レイアウトxmlファイルで設定するすべてのパラメーターをプログラムで設定できます。

于 2012-07-05T10:04:53.340 に答える
1

ボタン クリック イベントで次のコードを追加します。

            LinearLayout linearLayout=(LinearLayout) findViewById(R.id.layout);
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);


            LinearLayout layout=new LinearLayout(getApplicationContext());
            LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            layout.setOrientation(LinearLayout.VERTICAL);
            layout.setLayoutParams(params);
            Button button1=new Button(getApplicationContext());
            button1.setLayoutParams(params1);
            button1.setText("button");


            layout.addView(button1);
            linearLayout.addView(layout);

XML ファイルで ID @+id/layout と向き Vertical を持つレイアウトを定義します。クリック イベントごとにボタン レイアウトが追加されていることがわかります。

于 2012-07-05T10:48:26.743 に答える