每周一篇之EditText的简单使用

本文详细介绍了Android中EditText控件的使用方法,包括设置文本格式、调整键盘行为、监听键盘按钮等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EditText--可编辑文本控件,常用于登录、注册、搜索等编辑文本的输入,现在共同学习一下。

先上代码

<span style="font-family:Microsoft YaHei;font-size:18px;"> <EditText
            android:id="@+id/edit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/input"
            android:digits="0123456789"//输入文本格式只能为数字
            android:gravity="center"
            android:inputType="number"//调用键盘格式
            android:maxLength="6"  /></span>
1、设置可编辑文本的光标显示位置
<span style="font-family:Microsoft YaHei;font-size:18px;">edit=(EditText) findViewById(R.id.edit);
		/*内容长度*/
		int index=edit.getText().toString().length();
		/*设置光标的位置*/
		edit.setSelection(index);</span>

2、打开软键盘,并监听键盘的右下方按钮

<EditText
    android:id="@+id/edit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left|center_vertical"
    android:imeOptions="actionDone"
    />
当点击EditText的时候会自动弹出输入法键盘,或者直接调用editText.requestFocus()使显示输入法键盘,

其中android:imeOptions指定了弹出键盘时右下角的按键的显示文字,未指定时默认为回车图标。
android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕

同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键

android:imeOptions="actionNone" //输入框右侧不带任何提示

android:imeOptions="actionGo" //右下角按键内容为'开始'

android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索

android:imeOptions="actionSend" //右下角按键内容为'发送'

android:imeOptions="actionNext" //右下角按键内容为'下一步'

android:imeOptions="actionDone" //右下角按键内容为'完成'


但是在AlertDialog或这PoupWIndow的EditText当调用requestFocus()方法的时候却不会自动弹出键盘,


此时需要直接调用显示键盘命令,当editText获取焦点的时候。


editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
   @Override
   public void onFocusChange(View v, boolean hasFocus) {
       if (hasFocus) {
            dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
	   
       }
   }
});
在必要的时候隐藏输入法界面:
//隐藏输入法界面
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(input.getWindowToken(), 0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值