在android的实践开发中,为了界面的美观,往往那些搜索框并没有带搜索按钮,而是调用了软键盘的搜索按钮,完成这次时间
- 1
- 2
好吧!直接上代码!
<EditText
android:id="@+id/my_chat_seach"
android:layout_width="fill_parent"
android:layout_height="23dp"
android:layout_centerVertical="true"
android:layout_marginRight="6dip"
android:layout_toRightOf="@id/my_seach_item_1_button"
android:background="@color/white"
android:gravity="center_vertical"
android:hint="@string/search"
android:imeOptions="actionSearch"
android:singleLine="true"
android:textColor="#8e8787"
android:textSize="13sp" />
xml配置文件中 最重要的一个属性是: android:imeOptions=”actionSearch”,从而调用软键盘时,回车键就会显示搜索二字。
同时在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode=”adjustPan”,可以防止软键盘会把原来的界面挤上去的问题。
那么在该activity中,如何操作呢?
seachEditText = (EditText) findViewById(R.id.my_chat_seach);
watchSearch();
然后
/**
* @方法说明:监控软键盘的的搜索按钮
* @方法名称:watchSearch
* @返回值:void
*/
public void watchSearch() {
seachEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
// 先隐藏键盘
((InputMethodManager) seachEditText.getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(ChatFriendsGroudSeach.this
.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
// 搜索,进行自己要的操作...
seachList(viewIndex);//这里是我要做的操作!
return true;
}
return false;
}
});
}
好的!完成!