android editText 软键盘enter键图标的设置
<span style="font-size:14px;"><EditText
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入单位"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
<span style="color:#ff0000;"> android:imeOptions="actionSearch"</span>
/></span>
EditText通过设置android:imeOptions来改变默认的”文本或者样式。这里举几个常用的常量值:
actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.
actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE
actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH
actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND
actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT
actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE
android键盘中的enter键是可以用editText的android:imeOptions标签变化的。
比如见到的网页中输入url的go按钮,比如搜索的时候search图标。
显示search图标需要设置为android:imeOptions="actionSearch"。
后来发现仅仅设置这一个属性,search按钮还是出不来,后来增加了一个属性android:inputType="text"将键盘设置为文字输入布局,则键盘中search按钮正常出现。尝试go按钮,也正常出现了。
我发现必须加android:singleLine="true" 才行
对于事件捕捉:
<span style="font-size:14px;"> companySearchET.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
final String searchStr = companySearchET.getText().toString().trim();
if (actionId==EditorInfo.IME_ACTION_SEARCH
||(event!=null&&event.getKeyCode()== KeyEvent.KEYCODE_ENTER)) {
//do something;
if(searchStr == null || "".equals(searchStr)){
Toast.makeText(CompanyChangeActivity.this, "请输入单位关键字", Toast.LENGTH_SHORT).show();
Log.e("这里", "这里");
return true;
}else{
}
return true;
}
return false;
}
}); </span>