防止输入文本重叠在EditText内的嵌套按钮上

时间:2014-10-04 15:15:35

标签: android android-layout

我在EditText中有一个嵌套按钮。我正在使用RelativeLayout来做到这一点。问题是文本输入与按钮重叠。我怎样才能防止这种情况发生?也许是一种限制每行字符的方法。我尝试过设置android:maxLength,但它不是每行应用于整个EditText。

enter image description here

   <RelativeLayout
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_alignParentBottom="true"
           android:layout_alignParentLeft="true"
           android:layout_alignParentStart="true"
           android:layout_below="@+id/linearLayout"
           >
           <EditText
               android:id="@+id/item"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:background="@drawable/rounded_edit"
               android:ems="10"
               android:hint="samplehint"
               android:lines="5"
               android:maxLines="5"
               android:minLines="1"
               android:padding="10dp"
               android:paddingRight="50dp"
               android:inputType="textMultiLine"
               android:layout_alignParentBottom="true"
               android:layout_alignParentTop="true" />
           <Button
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="Done"
               android:layout_centerVertical="true"
               android:layout_alignParentRight="true"
               android:layout_alignParentEnd="true" />

           </RelativeLayout>

2 个答案:

答案 0 :(得分:4)

您需要使用LinearLayout代替RelativeLayout。像这样:

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

    <TextView
        android:padding="5dp"
        android:gravity="center|start"
        android:text="Samplesamplesamplesamplesamplesamplesamplesamplesamplesamplesamplesample"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"/>

    <Button
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

应该是这样的:

enter image description here

答案 1 :(得分:0)

我通过将android:drawablePadding="35dip"添加到EditText来解决它。但是因为它没有绘制就没有工作,所以在按钮方向添加了一个空的drawable。

android:drawablePadding="35dip
android:drawableRight="@android:color/transparent"