我正在创建一个带有自定义背景的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)。
答案 0 :(得分:10)
在android:inputType="text"
内使用EditText
为我工作。
希望这会对某人有所帮助并节省您的时间:)
答案 1 :(得分:2)
我明白了。关键是你需要将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>
答案 2 :(得分: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" />
到我的edittext
答案 3 :(得分:1)
将您的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>