Pan*_*hal 294 android android-edittext
可能重复:android-singleline-true-not-working-for-edittext
<EditText
android:id="@+id/searchbox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:layout_weight="1"
android:layout_marginTop="2dp"
android:drawablePadding="10dp"
android:background="@drawable/edittext"
android:drawableLeft="@drawable/folder_full"
android:drawableRight="@drawable/search"
android:paddingLeft="15dp"
android:hint="search...">
</EditText>
Run Code Online (Sandbox Code Playgroud)
我想让上面EditText
只有单行.即使用户按下"输入",光标也不应该下到第二行.任何人都可以帮我这样做吗?
Pra*_*mar 517
使用android:maxLines="1"
和android:inputType="text"
你忘了android:maxLines属性.并参考android:inputType在您的示例中,下面将给出以下结果:
<EditText
android:id="@+id/searchbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text"
android:scrollHorizontally="true"
android:ellipsize="end"
android:layout_weight="1"
android:layout_marginTop="2dp"
android:drawablePadding="10dp"
android:background="@drawable/edittext"
android:drawableLeft="@drawable/folder_full"
android:drawableRight="@drawable/search"
android:paddingLeft="15dp"
android:hint="search...">
</EditText>
Run Code Online (Sandbox Code Playgroud)
ral*_*abb 188
使用android:singleLine="true"
已被弃用.
只需添加您的输入类型并将maxline设置为1,一切都会正常工作
android:inputType="text"
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
Mr.*_*gle 54
android:singleLine
现已弃用.从文档:
此常量在API级别3中已弃用.
不推荐使用此属性.
maxLines
相反,使用更改静态文本的布局,并使用textMultiLine
inputType属性中的标志代替可编辑的文本视图(如果提供了singleLine和inputType,则inputType标志将覆盖singleLine的值).
因此,您可以设置android:inputType="textEmailSubject"
或与该字段的内容匹配的任何其他值.
小智 18
您必须在xml中的EditText中添加此行:
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
小智 14
android:maxLines="1"
android:inputType="text"
Run Code Online (Sandbox Code Playgroud)
添加上面的代码,在您的布局中的EditText标记中有一行.
android:singleLine="true" is deprecated
Run Code Online (Sandbox Code Playgroud)
此常量在API级别3中已弃用.
不推荐使用此属性.使用maxLines来改变静态文本的布局,并使用inputType属性中的textMultiLine标志代替可编辑的文本视图(如果提供了singleLine和inputType,则inputType标志将覆盖singleLine的值).
Kau*_*hik 12
现在android:singleLine
属性已弃用.请将这些属性添加到您EditText
的EditText
单行中.
android:inputType="text"
android:imeOptions="actionNext"
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
Ale*_*s G 11
我在过去做过这个,android:singleLine="true"
然后为"enter"键添加一个监听器:
((EditText)this.findViewById(R.id.mytext)).setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
//if the enter key was pressed, then hide the keyboard and do whatever needs doing.
InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
//do what you need on your enter key press here
return true;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
Ray*_*ter 11
这适用于EditText:
android:inputType="text"
Run Code Online (Sandbox Code Playgroud)
然后我会为输入文本设置最大长度:
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
这些是现在需要的2.
每个人都显示XML方式,除了一个人显示调用EditText的setMaxLines方法.但是,当我这样做时,它没有用.对我有用的一件事是设置输入类型.
EditText editText = new EditText(this);
editText.setInputType(InputType.TYPE_CLASS_TEXT);
Run Code Online (Sandbox Code Playgroud)
这允许AZ,az,0-9和特殊字符,但不允许输入被按下.当您按Enter键时,它将转到下一个GUI组件(如果适用于您的应用程序).
您可能还想设置可以放入EditText的最大字符数,否则它会将其右侧的任何字符推出屏幕,或者只是开始拖尾屏幕本身.你可以这样做:
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(8);
editText.setFilters(filters);
Run Code Online (Sandbox Code Playgroud)
这会将EditText中的最大字符数设置为8.希望这一切对你有所帮助.
您必须在 EditText 中添加此行
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
还有一件事,不要忘记设置 android:inputType
(无论你想要什么,短信,电话..,但你必须设置它)
归档时间: |
|
查看次数: |
232456 次 |
最近记录: |