Android:EditText不会被省略

vohkndzv  于 2023-03-27  发布在  Android
关注(0)|答案(6)|浏览(173)

我在线性布局中有2个EditTexts,它们不会被省略

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#696969"
            android:layout_marginBottom ="5px">

            <EditText
                         android:id="@+id/addressbar" 
                          android:layout_width="fill_parent" 
                          android:layout_height="wrap_content" 
                          android:layout_marginLeft ="2px"
                          android:layout_marginRight ="1.5px"
                          android:layout_weight="0.35"
                          android:textSize = "15sp"
                          android:singleLine="true"
                          android:editable = "true"
                          android:textAppearance="?android:attr/textAppearanceMedium"
                          android:ellipsize="end"
                          android:imeOptions="actionGo"

                           />
            <EditText android:id="@+id/googlebar" 
                          android:layout_width="fill_parent" 
                          android:layout_height="wrap_content" 
                          android:layout_marginLeft ="1.5px"
                          android:layout_marginRight ="3px"
                          android:background="@android:drawable/editbox_background"
                          android:layout_weight="0.65"
                          android:hint="Google"
                          android:textSize = "15sp"
                          android:singleLine="true"
                          android:ellipsize="end"
                          android:imeOptions="actionSearch"
                           />

            </LinearLayout>

你觉得怎么样?

px9o7tmv

px9o7tmv1#

设置此属性以编辑文本。Elipsize正在使用禁用编辑文本

android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:singleLine="true"
android:editable="false"

return(null);这对我来说在所有Android平台上都很好。

kt06eoxx

kt06eoxx2#

我可以看到很多人的评论,Ellipsize在TextView中工作得很好。但在EditText中却不行!实际上我想说我们需要深入研究EditText。因为EditText是TextView的子。EditText有能力从用户那里获取输入,这在TextView上是不可用的。所以EditText有KeyListener来观察EditText输入键事件的变化。我们必须在添加省略号时禁用它。因此,您的EditText不会每次都刷新,并且不会丢失省略号功能。

editText.setKeyListener(null);
editText.setEllipsize(TextUtils.TruncateAt.END);
brc7rcf0

brc7rcf03#

椭圆大小已断开:Ellipsize not working for textView inside custom listView
错误报告:http://code.google.com/p/android/issues/detail?id=882
我不得不做以下工作,让我的工作...采取了一点摆弄

android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
1dkrff03

1dkrff034#

我有一个解决方案,将这一行添加到您的EditText android中:editable=“false”edittext将被省略,但此属性已被弃用,但如果它未被弃用,当此edittext不可编辑时,我不知道如何通过Java编码使其再次可编辑。

euoag5mw

euoag5mw5#

<EditText
    android:id="@+id/et_task"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:textSize="25sp"
    android:ellipsize="end"
    android:editable="false"
    android:singleLine="true"
    tools:text="My Task text sfdsafdsasdfsadfsadfdsafasdfвыа"
    android:background="@android:color/transparent"/>
qcuzuvrc

qcuzuvrc6#

试试这个,android:editable="false"setKeyListener(null)
参考:Ellipsize content of editText when disabled

相关问题