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

4

我在xml文件中有一个EditText视图,其宽度已经设定好。 我已经将其强制为单行模式,因此,如果输入的文本长度超过了编辑框的宽度,文本不会自动换行,方法如下:

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个回答

5
将焦点变化监听器设置到EditText中应该能够满足您的需求。
mEdittext.setOnFocusChangeListener(new OnFocusChangeListener() {

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

实际上,我将上述命令添加到了“Oncreate”中,并且它确实起作用了。如果有人想使用这个,请注意上面的代码需要有一个闭括号“}”和参数“)” 。 - TJ1

0

0
请查看android:ellipsize属性,并将其设置为“end”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接