尝试以水平方向修复文本输入布局小部件

时间:2017-01-31 07:10:13

标签: android android-xml

我正在尝试水平修复TextInputLayout小部件,父级布局为线性布局

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_horizontal">

            <android.support.design.widget.TextInputLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="50dp"
                android:layout_gravity="center"
                >
                <EditText
                    android:id="@+id/phone_code"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:maxLines="1"
                    android:layout_gravity="center_horizontal"
                    android:textSize="25sp"
                    android:text="+91"
                    android:focusableInTouchMode="false"
                    android:clickable="false"
                    android:maxLength="5"
                    android:textColor="@color/white"
                    android:hint="@string/phone_code"
                    android:textCursorDrawable="@null"
                    android:inputType="none">

                    <requestFocus />

                </EditText>

            </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="50dp"
            android:layout_gravity="center"
            >

            <EditText
                android:id="@+id/loginNo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:minWidth="200dp"
                android:layout_gravity="center_horizontal"
                android:textSize="25sp"
                android:maxLength="10"
                android:textColor="@color/white"
                android:hint="@string/msg_enter_mobile"
                android:digits="1234567890+"
                android:textCursorDrawable="@null"
                android:inputType="phone">

                <requestFocus />

            </EditText>

        </android.support.design.widget.TextInputLayout>

        </LinearLayout>

现在这个小部件有request focus,当它专注于视图时,这个提示向上移动,让我有空间在编辑文本中写入single edittext之前它正常工作但现在这个提示是{{1我看不到。

3 个答案:

答案 0 :(得分:1)

从这两个中移除TextInputLayout layout_gravity,它将起作用:

        <android.support.design.widget.TextInputLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="50dp"
            //layout_gravity removed
            >

enter image description here

  

错误视图

正如我的评论所述,看图像1)android:layout_marginBottom="50dp"导致视图进入工具栏,2)避免重力(我删除了引力,因为我不想误导你的bottommargin)。

enter image description here

答案 1 :(得分:0)

尝试使用以下内容:两个元素的宽度为0dp,权重为1。您可以根据您想要元素占据的空间指定权重,对其中一个元素使用2的权重,您将注意到差异。希望它有所帮助。

 <android.support.design.widget.TextInputLayout
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:layout_marginBottom="50dp"
                android:layout_gravity="center"
                >
                <EditText
                    android:id="@+id/phone_code"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:maxLines="1"
                    android:layout_gravity="center_horizontal"
                    android:textSize="25sp"
                    android:text="+91"
                    android:focusableInTouchMode="false"
                    android:clickable="false"
                    android:maxLength="5"
                    android:textColor="@color/white"
                    android:hint="@string/phone_code"
                    android:textCursorDrawable="@null"
                    android:inputType="none">

                    <requestFocus />

                </EditText>

答案 2 :(得分:0)

将两个TextInputLayout的宽度都更改为0dp,并在其中添加权重= 1。 然后,您也可以将EditText的宽度更改为match_parent