两个编辑文本在同一行,没有重叠

时间:2014-02-25 15:36:51

标签: android

我有2个EditText et1& ET2。

它们都要显示在同一行中,即彼此前面。 et1是alignedParentLeft et2是alignedParentRight

并且,android:singleLine="true"

问题是,如果一个长度覆盖屏幕的长度,则它与另一个重叠。

如何确保两者都可见。 我没关系,如果尺寸更大,而不是重叠,则显示椭圆(最后是'...')。

5 个答案:

答案 0 :(得分:2)

在编辑文本中给予重量。 enter image description here          

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_weight="1"
        android:ems="10" />

</LinearLayout>

答案 1 :(得分:1)

您可以简单地使用LinearLayoutandroid:orientation="horizontal"匹配:

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

答案 2 :(得分:0)

将此行添加到et2的xml:

android:toRightOf="@+id/et1"

这确保et2将始终位于et1的右侧,因此它们不会重叠。

答案 3 :(得分:0)

我发现解决方案是使用android:layout_width:0dp

在其中一个编辑文本中使用此宽度,优先级较低。当具有较高优先级的文本变得更大时,第二个,而不是重叠的文本离开屏幕,

这不是我所需要的100%,而是为我工作。

由于

答案 4 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2" >

    <EditText
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="Edittext1" />

    <EditText
        android:id="@+id/email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="Edittext2" />

</LinearLayout>