在LinearLayout中的行末尾添加Android中的复选框
我有这样的线性布局:在LinearLayout中的行末尾添加Android中的复选框,android,layout,checkbox,Android,Layout,Checkbox,我有这样的线性布局: <!-- First column in row with image --> <ImageView android:id="@+id/bild" android:layout_width="48dp" android:layout_height="48dp" android:layout_gravity="center" android:layout_mar
<!-- First column in row with image -->
<ImageView
android:id="@+id/bild"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_margin="8dp"
android:contentDescription="@string/description"
android:src="@drawable/ic_launcher" >
</ImageView>
<!-- Second column in row with data -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="10dp" >
<TextView
android:id="@+id/selectedItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#464f58"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/numberOfLeaflet"
android:textSize="12sp" />
<TextView
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<!-- Third column with checkBox -->
<CheckBox
android:id="@+id/chkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
问题是此复选框不可见。
当我在ImageView之前更改并设置此复选框时,我可以看到此复选框
<!-- First column in row with image -->
<ImageView
android:id="@+id/bild"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_margin="8dp"
android:contentDescription="@string/description"
android:src="@drawable/ic_launcher" >
</ImageView>
<!-- Second column in row with data -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="10dp" >
<TextView
android:id="@+id/selectedItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#464f58"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/numberOfLeaflet"
android:textSize="12sp" />
<TextView
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<!-- Third column with checkBox -->
<CheckBox
android:id="@+id/chkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
你知道为什么我在3列中看不到此复选框吗?第二列设置为“填充父宽度”。所以最后一个复选框不合适,放在同一行,但不在屏幕的一侧。解决这一问题的最简单方法是使第二列不是fill\u parent,或者使它和复选框都是fill\u parent,并使用权重使它们分割空间。您可以做的另一件事是将外部布局设置为RelativeLayout,以便可以将第二列设置为复选框的layout_Left,并使复选框alignParentRight=true
<!-- First column in row with image -->
<ImageView
android:id="@+id/bild"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_margin="8dp"
android:contentDescription="@string/description"
android:src="@drawable/ic_launcher" >
</ImageView>
<!-- Second column in row with data -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="10dp" >
<TextView
android:id="@+id/selectedItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#464f58"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/numberOfLeaflet"
android:textSize="12sp" />
<TextView
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<!-- Third column with checkBox -->
<CheckBox
android:id="@+id/chkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>