[Android]搜索界面--自动弹出键盘,并点击键盘搜索进行搜索

功能分析:

进入搜索页面,自动弹出键盘,并且可以点击键盘搜索按钮进行搜索,并自动隐藏键盘。






1.在XML在输入框中加入android:imeOptions="actionSearch"

 <EditText
                android:id="@+id/et_keyword"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_centerVertical="true"
                android:layout_toRightOf="@id/icon_keyword"
                android:background="@color/transplant"
                android:hint="请输入关键字"
                android:imeOptions="actionSearch"
                android:padding="5dp"
                android:singleLine="true"
                android:textColor="@color/white"
                android:textColorHint="@color/white"
                  />
2.自动弹出键盘
et_keyword = (EditText) findViewById(R.id.et_keyword);
et_keyword.setSelected(true);
et_keyword.requestFocus();//获得焦点
3.然后调用 OnEditorActionListener,不是OnKeyListener( import android.widget.TextView.OnEditorActionListener;

 

<span style="font-size:18px;">et_keyword.setOnEditorActionListener(new OnEditorActionListener() {

			@Override
			public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {
				if (arg1 == EditorInfo.IME_ACTION_SEARCH) {
					 //添加搜索事件

                                   hideInput(mContext);//隐藏软键盘
                            }
				return false;
			}
		});</span>
/** 
	 * 隐藏软键盘
	 */  
        private static InputMethodManager manager;// 输入法管理器 用户隐藏软键盘
	private void hideInput(Context context) {
		if(manager==null){
			manager = ((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE));
		}
		
		manager.hideSoftInputFromWindow(((Activity) context)
				.getCurrentFocus().getWindowToken(),
				InputMethodManager.HIDE_NOT_ALWAYS);
	}


3.在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan"可以防止软键盘会把原来的界面挤上去的问题stateVisible负责让键盘自动弹出

<span style="font-size:18px;">android:windowSoftInputMode="adjustPan|stateVisible"</span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值