为什么我的LinearLayout动态添加图像不会带参数?
LinearLayout ImageView = (LinearLayout) findViewById(R.id.settings);
LinearLayout ImageView2 = (LinearLayout) findViewById(R.id.settings2);
LinearLayout.LayoutParams imagev = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
imagev.topMargin=2;
ImageView image = new ImageView(getApplicationContext());
image.setBackgroundResource(R.drawable.ic_action_discard);
image.setId(Integer.parseInt(listitems.get(n).get("cbid")));
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View v) {
showpopup(v.getId());
}
});
if (listitems.get(n).get("state").toString().equals("1")) {
cb.setChecked(true);
my_checked_layout.addView(cb,params);
cb.setBackgroundColor(Color.argb(255, 184, 239, 220));
cb.setTextColor(Color.rgb(255, 255, 255));
ImageView2.addView(image, imagev);
} else {
cb.setChecked(false);
cb.setBackgroundColor(Color.argb(255, 19, 202, 140));
cb.setTextColor(Color.rgb(255, 255, 255));
my_layout.addView(cb,params);
ImageView.addView(image,imagev);
}
my_checked_layout(cb,params);确实需要其他参数
我的XML,其中正在设置图像和复选框。 正在使用的部件都是线性布局,ID为父母和母亲。 parent2。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Name Label -->
<LinearLayout
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/name_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:textColor="#43bd00"
android:textSize="25dip"
android:textStyle="bold" />
<!-- green -->
<!-- Email Label -->
<TextView
android:id="@+id/email_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#EB0505" />
<!-- red -->
<TextView
android:id="@+id/list_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FF00FF" />
<!-- pink -->
<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>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="2dp"
android:scaleType="fitXY"
android:src="@drawable/devider" />
<LinearLayout
android:id="@+id/Parent2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/checked"
android:layout_width="260dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="10dp"
/>
<LinearLayout
android:id="@+id/settings2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#B8EFDC" />
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
如果你想在LinearLayout.LayoutParams
中添加保证金,你可以调用它的setMargin()方法。
示例:强>
setMargins(135, 176, 0, 0);
其中setMargins (int left, int top, int right, int bottom)
答案 1 :(得分:0)
<LinearLayout
android:id="@+id/settings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
/>
修好了。