Android软键盘状态的切换及其强制隐藏

来源:互联网 发布:mac能玩iphone手游 编辑:程序博客网 时间:2024/06/05 11:44
MainActivity如下:
package cc.c;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.inputmethod.InputMethodManager;import android.widget.Button;import android.widget.EditText;import android.app.Activity;import android.content.Context;/** * Demo描述: * 1 软键盘状态的切换 * 2 强制隐藏输入法键盘 */public class MainActivity extends Activity {private EditText mEditText;    private Button mButton;    private Context mContext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init(){mContext=this;mEditText=(EditText) findViewById(R.id.editText);mButton=(Button) findViewById(R.id.button);mButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//toggleInput(mContext);hideInput(mContext,mEditText);}});}/** * 切换软键盘的状态 * 如当前为收起变为弹出,若当前为弹出变为收起 */private void toggleInput(Context context){InputMethodManager inputMethodManager =(InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);}/** * 强制隐藏输入法键盘 */private void hideInput(Context context,View view){InputMethodManager inputMethodManager =(InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);}}

main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <EditText        android:id="@+id/editText"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:hint="Input here" />    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_above="@id/editText"        android:layout_centerHorizontal="true"        android:layout_marginBottom="15dp"        android:hint="Button" /></RelativeLayout>


0 0