Fra*_*ior 17 android android-edittext
我想EditText使用2的最大行数和最大长度为20.如果EditText长度大于10,它应该自动转到新行,这样用户就不需要按Enter键.有人可以帮我解决这个问题吗?
rkr*_*hit 29
将其添加到EditText xml代码中
安卓的inputType = "textMultiLine"
这将在输入数据时自动将文本移动到下一行.
fll*_*llo 19
它应该以最优雅的方式存在,但是这个解决方案可以帮助您作为实现您想要的线索.首先,您需要将EditText值设置如下:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text|textMultiLine|textCapSentences"
android:maxLength="21"
android:gravity="left"
android:maxLines="2" />
Run Code Online (Sandbox Code Playgroud)
您必须将maxLength属性设置为,21因为enter char(新行)将在edittext中使用一个char,然后用户只能编写19chars而不是20.
然后,你应该使用TextWatcher一个boolean(如果用户删除他以前的字符使用),这应该是如下:
// init global boolean
private boolean isReached = false;
// in onCreate method
edittext.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
// if edittext has 10chars & this is not called yet, add new line
if(textEd.getText().length() == 10 && !isReached) {
textEd.append("\n");
isReached = true;
}
// if edittext has less than 10chars & boolean has changed, reset
if(textEd.getText().length() < 10 && isReached) isReached = false;
}
});
Run Code Online (Sandbox Code Playgroud)
注意:但是,您应该小心使用此代码.实际上,用户仍然可以按下Key Enter然后添加新行.也许这些答案可能会帮助您处理它并让用户"只在路上":阻止在EditText上输入密钥但仍然将文本显示为多行
对于线条,请执行以下操作:
<EditText
android:inputType="textMultiLine" <!-- Multiline input -->
android:lines="2" <!-- Total Lines prior display -->
android:minLines="1" <!-- Minimum lines -->
android:gravity="top|left" <!-- Cursor Position -->
android:maxLines="2" <!-- Maximum Lines -->
android:layout_height="wrap_content"
android:layout_width="fill_parent"/>
Run Code Online (Sandbox Code Playgroud)
你也可以使用这个参数(不适用于 Android <= 3.0):
android:singleLine="false"
Run Code Online (Sandbox Code Playgroud)
对于字符数,请执行以下操作:
EditText et= (EditText) findViewById(R.id.editText1);
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(20); //Filter to 20 characters
et.setFilters(filters);
Run Code Online (Sandbox Code Playgroud)
或者,使用其他参数,
android:maxLength="20"在里面xml
| 归档时间: |
|
| 查看次数: |
33691 次 |
| 最近记录: |