尚学堂【官网】-西安Java培训|c++培训|Android培训|安卓培训|java视频教程|软件工程师|-西安雁塔尚学堂计算机学校
Android安卓教程  尚学堂首页Java学院Android安卓教程

Android 软键盘状态并隐藏输入法的实例

www.xasxt.com 发布人:java  |  来自:本站  |  发布时间:2017-09-14 16:24:00  |  点击次数:21992

1 软键盘状态的切换

2 强制隐藏输入法键盘

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;
  @Override
  protected 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() {
      @Override
      public 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>

 

当前文:Android 软键盘状态并隐藏输入法的实例
上一页:Android 优化Handler防止内存泄露
下一页:使用ListView显示数据
在线报名(*为必填项)