在LinearLayout边距中动态添加项目

时间:2014-06-08 18:31:57

标签: android xml android-linearlayout android-checkbox

我有代码将Array中的复选框添加到LinearLayout。

LinearLayout my_layout = (LinearLayout) findViewById(R.id.test);
for (int n = 0; n < listitems.size(); n++) {
  CheckBox cb = new CheckBox(getApplicationContext());
  cb.setId(Integer.parseInt(listitems.get(n).get("cbid")));
  cb.setText(listitems.get(n).get("product"));
  cb.setTextColor(Color.BLACK);
  my_layout.addView(cb);
}

我怎样才能确保每个复选框之间有2-3dp的余量? 并且复选框的背景有圆角?

这是我在

中设置框的XML
<LinearLayout
        android:id="@+id/Parent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <LinearLayout
            android:id="@+id/test"
            android:layout_width="260dp"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="10dp" />

        <LinearLayout
            android:id="@+id/settings"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:background="#13ca8c"
            />
    </LinearLayout>

1 个答案:

答案 0 :(得分:3)

LinearLayout my_layout = (LinearLayout) findViewById(R.id.test);
for (int n = 0; n < listitems.size(); n++) {
    CheckBox cb = new CheckBox(getApplicationContext());
    cb.setId(Integer.parseInt(listitems.get(n).get("cbid")));
    cb.setText(listitems.get(n).get("product"));
    cb.setTextColor(Color.BLACK);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,    ViewGroup.LayoutParams.WRAP_CONTENT);
    parms.leftMargin = 2;
    params.rightMargin = 2;
    params.topMargin = 2;
    params.bottomMargin = 2;
    my_layout.addView(cb,params);
}    

对于圆角使用背景图像