键入edittext会增加其空间并减少其他edittext空间

时间:2017-05-11 05:43:04

标签: android android-linearlayout android-xml android-layout-weight

我有一个带有两个textview和两个editText的linearlayout。问题是每当我开始在任何editText中编写时,另一个editText开始在空间上很小,并且聚焦的editText空间会随着输入的增加而增加。

我的XML代码是:

   <LinearLayout
                android:id="@+id/l6"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/l5"
                android:layout_margin="10dp"
                android:orientation="horizontal"
                android:padding="2dp"
                android:weightSum="4">

                <TextView
                    android:id="@+id/txtOverAddress"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.2"
                    android:text="Oversease Address: " />

                <EditText
                    android:id="@+id/edtOverAddress"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"
                    android:layout_weight="2.6"
                    android:inputType="text"
                    android:padding="5dp" />

                <TextView
                    android:id="@+id/txtReffBy"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="8dp"
                    android:layout_weight="0.2"
                    android:text="Reffered By: " />

                <EditText
                    android:id="@+id/edtReffBy"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:textSize="12sp"
                    android:inputType="text"
                    android:padding="5dp" />

            </LinearLayout>

我不知道我在哪里做错了。需要帮忙!提前谢谢。

3 个答案:

答案 0 :(得分:1)

如果您可以根据线性布局方向设置android:layout_weight,则可以设置android:layout_width="0dp"

   <LinearLayout
                android:id="@+id/l6"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/l5"
                android:layout_margin="10dp"
                android:orientation="horizontal"
                android:padding="2dp"
                android:weightSum="4">

                <TextView
                    android:id="@+id/txtOverAddress"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.2"
                    android:text="Oversease Address: " />

                <EditText
                    android:id="@+id/edtOverAddress"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"
                    android:layout_weight="2.6"
                    android:inputType="text"
                    android:padding="5dp" />

                <TextView
                    android:id="@+id/txtReffBy"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="8dp"
                    android:layout_weight="0.2"
                    android:text="Reffered By: " />

                <EditText
                    android:id="@+id/edtReffBy"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:textSize="12sp"
                    android:inputType="text"
                    android:padding="5dp" />

            </LinearLayout>

答案 1 :(得分:1)

我对您的代码进行了一些更改,但我不确定您的要求是什么样的 1.如果文本超出Edittext的宽度,是否要在下一行中移动文本? 2.或者,如果文本超出Edittext的宽度,是否要水平滚动文本?

我已经完成了给出的EditText中的所有内容。第一个移动到新线,第二个移动

<LinearLayout android:id="@+id/l6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/l5"
android:layout_margin="10dp"
android:orientation="horizontal"
android:padding="2dp"
android:weightSum="4"
xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:id="@+id/txtOverAddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:text="Oversease Address: " />

    <EditText
        android:id="@+id/edtOverAddress"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:layout_weight="2.6"
        android:text="Hello I am doing good. Hope you are also doing well"
        android:inputType="textMultiLine"
        android:padding="5dp" />

    <TextView
        android:id="@+id/txtReffBy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_weight="0.2"
        android:text="Reffered By: " />

    <EditText
        android:id="@+id/edtReffBy"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="12sp"
        android:inputType="text"
        android:text="Hello I am doing good. Hope you are also well"
        android:padding="5dp" />

</LinearLayout> 

希望这会有所帮助。

答案 2 :(得分:0)

创建两个线性布局,其中权重2在父级线性布局中具有权重4.在每个线性布局中创建textview和edittext,宽度为0 dp。