如何在RelativeLayout中使用EditText填充父级

时间:2014-11-18 14:41:28

标签: android android-edittext relativelayout

基本上,我想要的是让EditText填充其余的字段。由于第一个标签是wrap_content而最后一个项目只是一个imageview。我无法让EditText填补其余部分。最初,我在LinearLayou中使用它,但这对我来说也不起作用。

到目前为止,这是布局:

<RelativeLayout
                android:id="@+id/email_form"
                android:layout_width="match_parent"
                android:layout_height="@dimen/input_height"
                android:layout_marginTop="@dimen/t_button_margin"
                android:background="@drawable/form_edittext_background"
                android:orientation="horizontal"
                android:padding="@dimen/input_padding" >

                <TextView
                    android:id="@+id/email_lbl"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:gravity="center_vertical"
                    android:maxLines="2"
                    android:maxWidth="150dp"
                    android:layout_marginLeft="@dimen/input_label_margin_left"
                    android:text="adsadasdsa asd asdasd asdas  dasd asd asdasda s"
                    android:layout_alignParentLeft="true"
                    android:textColor="@color/o_text"
                    android:textSize="@dimen/input_label_font" />

                <EditText
                    android:id="@+id/email_txt"
                    android:layout_width="fill_parent"
                    android:layout_height="40dp"
                    android:background="@color/o_form_bg"
                    android:cursorVisible="true"
                    android:ems="10"
                    android:focusable="true"
                    android:gravity="right"
                    android:imeOptions="actionNext"
                    android:inputType="textEmailAddress"
                    android:text="aasdsd"
                    android:nextFocusDown="@+id/passwordTxt"
                    android:layout_toLeftOf="@+id/email_lbl"
                    android:layout_toRightOf="@+id/chk_email"
                    android:padding="1dp"
                    android:textColor="@color/dark"
                    android:layout_centerVertical="true"
                    android:textCursorDrawable="@null"
                    android:textSize="@dimen/o_font_input" />

                <ImageView
                    android:id="@+id/chk_email"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout_marginLeft="3dp"
                    android:contentDescription="@string/uplay"
                    android:src="@drawable/i_check2"
                    android:layout_centerVertical="true"
                    android:layout_alignParentRight="true"
                     />
            </RelativeLayout>

3 个答案:

答案 0 :(得分:1)

您似乎换了toRightOftoLeftOf

试试这个:

<EditText
            android:id="@+id/email_txt"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:background="@color/o_form_bg"
            android:cursorVisible="true"
            android:ems="10"
            android:focusable="true"
            android:gravity="right"
            android:imeOptions="actionNext"
            android:inputType="textEmailAddress"
            android:text="aasdsd"
            android:nextFocusDown="@+id/passwordTxt"
            android:layout_toLeftOf="@+id/chk_email"
            android:layout_toRightOf="@+id/email_lbl"
            android:padding="1dp"
            android:textColor="@color/dark"
            android:layout_centerVertical="true"
            android:textCursorDrawable="@null"
            android:textSize="@dimen/o_font_input" />

答案 1 :(得分:0)

你试过这个吗?

<EditText
    android:layout_gravity="fill_horizontal"
    ... />

注意:不推荐使用fill_parent,它是match_parent的同义词,所以这不是你想要的。

答案 2 :(得分:0)

您是否尝试过使用Layout_weight属性。

为其他2个视图设置android:layout_weight = "0",为应该占用所有空间的editText设置android:layout_weight = "1"