0

我在 Android 中以编程方式创建布局时遇到问题。我想在列表中显示带有复选框的名称,但复选框稍微向下并且不在相同的水平范围内。这是我的代码:

mDialog.setContentView(R.layout.exmple);
    mDialog.setCancelable(true);
    mDialog.setTitle("Hobbies");
    mDialog.show();

    final LinearLayout mLinearLayout = (LinearLayout) mDialog
            .findViewById(R.id.linear);


    mLinearLayout.setOrientation(LinearLayout.VERTICAL);

    final Button okButton = new Button(this);

    final int size = hobbyList.size();

    LinearLayout[] mLinearLayout2 = new LinearLayout[size];
    LinearLayout[] mLinearLayout3 = new LinearLayout[size];

    Check = new CheckBox[size];
    Text = new TextView[size];

    for (int i = 0; i < size; i++) {

        Check[i] = new CheckBox(this);
        Text[i] = new TextView(this);
        mLinearLayout2[i] = new LinearLayout(this);
        mLinearLayout3[i] = new LinearLayout(this);

        Check[i].setId(i);

        Text[i].setText(hobbyList.get(i));

        Text[i].setTypeface(font_regular);
        Text[i].setTextColor(color.black);

        mLinearLayout2[i].addView(Text[i]);
        mLinearLayout3[i].addView(Check[i]);
        mLinearLayout2[i].setGravity(Gravity.LEFT);
        mLinearLayout3[i].setGravity(Gravity.RIGHT);

        mLinearLayout.addView(mLinearLayout2[i]);
        mLinearLayout.addView(mLinearLayout3[i]);
                }

    okButton.setText("OK");
    mLinearLayout.addView(okButton);

这是输出图片:

在此处输入图像描述

4

1 回答 1

0

问题在于布局
mLinearLayout.setOrientation(LinearLayout.VERTICAL);

所以布局一个接一个,所以复选框不在一行

您可以尝试使用一个相对布局并将文本和复选框左右放置,这比您当前的方法容易得多

于 2013-05-20T11:09:20.460 回答