Android:从头开始在EditText中显示文本

时间:2011-08-13 17:08:07

标签: android android-edittext

我的xml文件中有一个具有一定宽度的EditText视图。 我已将其强制为1行,因此如果输入的文本长于编辑文本的宽度,则文本不会使用以下内容包围:

android:singleLine="true"

但是,输入长文本(长于编辑文本的宽度)后,它会显示文本的最后一部分。我想在用户完成输入文本后,从头开始显示文本。 例如,假设我有一个宽度只接受4个字符的编辑文本。因此,如果我在EditText框中输入“ABCDEFG”,我会看到“DEFG”,但我想看到“ABCD”。 怎么办呢。

这是我的XML格式的EditText:

<EditText
    android:id="@+id/fileNameBox"
    android:layout_width = "0dp"
    android:layout_height="40dp"
    android:gravity="left"
    android:ellipsize="start"
    android:singleLine="true"
    android:textSize="14sp" 
    android:layout_weight="0.5" 
    android:layout_marginBottom="1dip"/>

感谢您的帮助。

TJ

3 个答案:

答案 0 :(得分:4)

将焦点更改侦听器设置为EditText可以满足您的需求。

mEdittext.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override
    public void onFocusChange(View v, boolean hasFocus) {
    if (hasFocus == false) {  // lost focus
       mEdittext.setSelection(0,0);
    }
}
});

答案 1 :(得分:0)

您是否尝试过android:ellipsize

答案 2 :(得分:0)

查看android:ellipsize属性并将其设置为“结束”。