Android:EditText没有进行椭圆化处理

时间:2011-03-04 21:53:12

标签: android android-edittext

我在线性布局中有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>
你觉得怎么样?

5 个答案:

答案 0 :(得分:7)

将此属性设置为edittext。 Ellipsize正在使用禁用编辑文本

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

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

答案 1 :(得分:2)

Ellipsize已被破坏: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"

答案 2 :(得分:1)

我可以看到很多人的评论,那就是Ellipsize在TextView中效果很好。但不是在EditText中!实际上,我想说的是我们需要深入研究EditText。因为EditText是TextView的子级。 EditText具有从用户获取输入的功能,该功能在TextView上不可用。因此,EditText具有KeyListener来观察EditText输入键事件的变化。添加ellipsize时,我们必须禁用此功能。因此,您的EditText不会每次都刷新,并且您不会失去ellipsize功能。

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

答案 3 :(得分:0)

我有一个解决方案,将此行添加到EditText 机器人:编辑=“假” edittext将被椭圆化,但是这个属性已被弃用,但是当这个edittext不可编辑时,它不被弃用,我不知道如何通过java编码再次编辑它。

答案 4 :(得分:0)

<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"/>