0

自動生成(コード内)およびgravityのとを設定するにはどうすればよいですか?それらはの中にあります。marginTextViewsButtonsLinearLayout

これが私の生成コードです:

        for(int i=0; i<num_enter; i++){
    final int cuco = i;
    LinearLayout linlay = new LinearLayout(this);
    linlay.setOrientation(0);
    TextView text = new TextView(this);
    text.setText(name[cuco] + "        ");
    linlay.addView(text);
    TextView num = new TextView(this);
    num.setId(cuco);
    num.setText("" + current[cuco]);
    linlay.addView(num);
    Button minus = new Button(this);
    minus.setText("-");
    minus.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            int cval = current[cuco];
            int currentF = current[cuco] - 1;
            current[cuco] = current[cuco] -1;
            SetSql update = new SetSql(SpellCast.this);
            update.open();
            update.changeCurrent(currentF, cval, name[cuco]);
            update.close();
            ((TextView) findViewById(cuco)).setText("" + currentF);
        }
    });
    LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.RIGHT);
    minus.setLayoutParams(p);
    linlay.addView(minus);
    Button plus = new Button(this);
    plus.setText("+");
    plus.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            int cval = current[cuco];
            int currentF = current[cuco] + 1;
            current[cuco] = current[cuco] + 1;
            SetSql update = new SetSql(SpellCast.this);
            update.open();
            update.changeCurrent(currentF, cval, name[cuco]);
            update.close();
            ((TextView) findViewById(cuco)).setText("" + currentF);
        }
    });
    LinearLayout.LayoutParams w = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.RIGHT);
    plus.setHeight(LayoutParams.WRAP_CONTENT);
    plus.setWidth(50);
    plus.setLayoutParams(w);
    linlay.addView(plus);

    main.addView(linlay);
    }

サイズを変更せずにボタンの重力を設定する方法を見つけてください。

4

3 に答える 3

1

1)TextViewのリファレンスを取得します。

2)tv.setGravity(Gravity.CENTER);

LinearLayoutで動作するかどうかはわかりません。相対または絶対を試してください

于 2012-05-04T19:53:00.250 に答える
0

を使用しView.setLayoutParams(ViewGroup.LayoutParams params)ます。については、http://developer.android.com/reference/android/R.styleable.html#ViewGroup_Layoutを参照してくださいLayoutParams

于 2012-05-04T19:55:24.053 に答える
0

誰もマージンに取り組んでいないので

LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
p.setMargins(10, 10,10,10);
p.gravity = Gravity.CENTER;

textView.setLayoutParams(p);

setLayoutParamsを使用するときは、レイアウトパラメータのタイプが親ビュー(この場合はLinearLayout)と一致していることを確認してください。

setGravity(Gravity.CENTER);ビュー内のテキストの重力を設定します

于 2012-05-04T19:55:34.083 に答える