3

我正在制作具有自定义背景的 EditText 字段,但输入文本将比字段本身更长。此外,文本需要在一行中。

我的想法是当行到达字段末尾时使文本“向左移动”。我在一些应用程序中看到这是可能的。

我搜索了答案,但没有人回应这个特定问题。在我结合了其中的几个之后,我尝试以这种方式解决问题:

<EditText 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/edit_text"
        android:textColor="#FFFFFF"
        android:paddingLeft="5dp"
        android:maxLines="1"
        android:maxLength="25"
        android:scrollHorizontally="true"/>

但是,当我输入文本并到达 EditText 字段的末尾时,它开始拉伸我的字段(特别是“@drawable/edit_text”),直到我达到 25 个字符。

此外,当我将 layout_width 更改为某个特定值时,文本在到达末尾时进入第二行(即使 maxLines 仍然为 1)。

4

4 回答 4

15

经过一番研究,我发现它有效。

使用android:inputType="text"insideEditText对我有用。

希望这会对某人有所帮助并节省您的时间:)

于 2016-10-27T13:20:19.377 回答
3

把你的 EditText 放在里面HorizontalScrollView,它就可以工作了..

            <HorizontalScrollView
                android:id="@+id/rlEmail"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:scrollHorizontally="true"
                android:layout_alignLeft="@+id/etPhone"
                android:layout_alignRight="@+id/imgBtnEdit"
                android:layout_below="@+id/etPhone" >
                <EditText
                    android:id="@+id/etEmail"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:ems="10"
                    android:enabled="false"
                    android:focusable="false"
                    android:text="info@friedman.com"
                    android:maxLines="1"
                    android:singleLine="true"
                    android:scrollHorizontally="true" />
            </HorizontalScrollView>
于 2015-02-20T15:15:24.927 回答
3

我知道了。关键是您需要将EditText 放在RelativeLayout 中。现在它正在工作。

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/edit_text">
        <EditText
            android:layout_width="120dp"
            android:layout_height="21dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_margin="6dp"
            android:background="#00000000"
            android:imeOptions="actionDone"
            android:inputType="textPersonName"
            android:maxLength="20"
            android:maxLines="1"
            android:paddingLeft="2dp"
            android:textColor="#FFFFFF"/>
    </RelativeLayout>
于 2013-07-04T07:18:50.503 回答
2

添加后它工作

android:scrollHorizontally="true"
android:singleLine="true"
android:gravity="right|center_vertical" 

<EditText
        android:background="@drawable/sk"
        android:id="@+id/ed"
        android:textSize="@dimen/sed"
        android:textColor="@color/tc"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:gravity="right|center_vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

到我的编辑文本

于 2016-08-11T23:03:51.797 回答