将EditText从顶部移到其他EditText下

时间:2018-12-24 19:50:09

标签: android android-edittext

我有一个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>

1 个答案:

答案 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);