我有一个3 CheckBox和3 EditText,当我选中相应的复选框时,EditText应该移到其他两个EditText的底部。我在Internet上搜索,但找不到任何相关信息,需要一些建议或示例代码,谢谢您。
Xml代码示例实际布局结构:
<RelativeLayout>
<LinearLayout
android:id="@+id/linear1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/chk1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.1" />
<EditText
android:id="@+id/et1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center"
android:hint="Task 1"/>
<ImageButton
android:id="@+id/img1"
android:layout_width="0dp"
android:layout_height="40dp"
android:contentDescription="@null"
android:layout_weight="0.1"/>
</LinearLayout>
<LinearLayout id="Linear2">
<CheckBox android:id="@+id/ch2" .../>
<EditText android:id="@+id/et2" .../>
<Image android:id="@+id/img2" .../>
</LinearLayout>
<LinearLayout id="Linear3">
<CheckBox android:id="@+id/ch3" .../>
<EditText android:id="@+id/et3" .../>
<Image android:id="@+id/img3" .../>
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:0)
假设您的布局如下:
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<View android:id="@+id/v1" .../>
<View android:id="@+id/v2" .../>
<View android:id="@+id/v3" .../>
</LinearLayout>
然后您需要在Java中执行此操作,以将v1移至底部:
LinearLayout container = findViewById(R.id.container);
View v1,v2,v3;
v1 = findViewById(R.id.v1);
v2 = findViewById(R.id.v2);
v3 = findViewById(R.id.v3);
View.OnClickListener onClickListener = new OnClickListener() {
void onClick(View v) {
container.removeView(v);
container.addView(v);
}
}
v1.setOnClickListener(onClickListener);
v2.setOnClickListener(onClickListener);
v3.setOnClickListener(onClickListener);