使用Ellipsize end在一行中设置AutocompleteTextView提示

时间:2016-08-29 09:24:38

标签: android android-layout android-edittext autocompletetextview

我想在一行中设置我的AutocompleteTextView的提示,并在最后用点(...)截断额外的字符串。

我正在使用singleLine="true"maxLines="1"ellipsize="end"

但是提示仍然以两行显示。虽然文本设置为单行。但我需要提示也应该以单行显示。 Android Studio中的预览以单行显示提示。但是当我在Device上运行时,它显示为2行。(S5,Nexus-5,Nexus-6,J7)。

我也希望imeOption应该始终搜索。即imeOptions="actionSearch"因此我无法将其更改为actionNext。

以下是我的XML代码:

       <RelativeLayout
            android:id="@+id/liLaySearchMap"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:paddingLeft="10dp"
            android:background="@color/cococo"
            android:paddingRight="10dp">

            <AutoCompleteTextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="@dimen/five_dp"
                android:background="@color/white"
                android:padding="@dimen/two_dp"
                android:scrollHorizontally="true"
                android:drawablePadding="@dimen/two_dp"
                android:singleLine="true"
                android:lines="1"
                android:maxLines="1"
                android:ellipsize="end"
                android:textSize="@dimen/twelve_sp"
                android:drawableLeft="@drawable/ic_action_search"
                android:inputType="text"
                android:hint="A Very Long Hint Text Which Need To Be Tuncated At the End In Single Line"
                android:id="@+id/edSearch"
                android:imeOptions="actionSearch"
                android:layout_alignParentLeft="true"
                android:layout_toLeftOf="@+id/tvCancel"
                />

            <TextView
                android:id="@+id/tvCancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:layout_gravity="center"
                android:layout_margin="@dimen/five_dp"
                android:text="@string/cancel"
                android:textSize="@dimen/twelve_sp"
                android:textColor="@color/tw__composer_red"
                android:padding="@dimen/five_dp"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"/>

            </RelativeLayout>

任何人都可以解决我面临的问题。我认为我已经使用了所有可能的解决方案,但仍然提示不是单行。

2 个答案:

答案 0 :(得分:1)

enter image description here enter image description here

这些是我的设备上的屏幕截图,我试过的xml如下

<AutoCompleteTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="@color/white"
        android:padding="2dp"
        android:scrollHorizontally="true"
        android:drawablePadding="2dp"
        android:singleLine="true"
        android:lines="1"
        android:maxLines="1"
        android:ellipsize="end"
        android:textSize="16sp"
        android:inputType="text"
        android:drawableLeft="@mipmap/ic_launcher"
        android:hint="A Very Long Hint Text Which Need To Be Tuncated At the End In Single Line"
        android:id="@+id/edSearch"
        android:imeOptions="actionSearch"/>

尝试在android:inputType="text"为我设置的AutoCompleteTextView上设置<AutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:ellipsize="end" android:imeOptions="actionNext" android:hint="this is to check if it's getting truncated and in single line or not"/>

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$   categorie3.php?cat=$1&cat2=$2   [QSA,NC]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$   categorie4.php?cat=$1&cat3=$2    [NC,QSA]

答案 1 :(得分:0)

设置document.body.scrollTop = 0; android:inputType="text"对我有用AutoCompleteTextView,与android:ellipsize="end"不同,文字最后没有留下'...',但确实符合预期。