点击按钮隐藏软键盘

在activity中点击按钮隐藏软键盘

public class FindActivity extends BaseActivity implements OnClickListener{
    private InputMethodManager imm; 
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find);
            imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        } 

// 点击事件
public void onClick(View v) {
        switch (v.getId()) {
        case R.id.find_right_cancle:
            hide(this);  // 隐藏软键盘
            if ("搜索".equals(mTextView.getText())) {
                // TODO 得到输入的内容提交到服务端
                String text = mEditText.getText().toString(); 
//              loadData(true, 1, 10,text);
                mLinearLayout.setVisibility(View.GONE);  // 隐藏热门搜索
                // 弹出进度动画   搜索成功显示列表,失败显示一句话
                mTextViewError.setVisibility(View.VISIBLE);  // 显示搜索失败的一句话
            }else{
                finish();
            }
            break;
        case R.id.find_back_img:
            finish();
            break;

        default:
            break;
        }       
    }

public void hide(Context context) { 
        View view = getWindow().peekDecorView(); 
        if (view != null && view.getWindowToken() != null) { 
                imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); 
                imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
        } 
    }

在fragment中点击空白出隐藏软键盘

//事件分发,在主控制器MainActivity中写
public boolean dispatchTouchEvent(MotionEvent ev) {
            switch (ev.getAction()) {
            case MotionEvent.ACTION_DOWN:
                downX=(int) ev.getX();
                downY=(int) ev.getY();
                break;
            case MotionEvent.ACTION_MOVE:
                int moveX=(int) ev.getX();
                int moveY=(int) ev.getY();

                if (Math.abs(moveX-downX)>=0 || Math.abs(moveY-downY)>=0) {
                    hide(MainActivity.this);
                }
                break;
            }
            return super.dispatchTouchEvent(ev);
        }
/**
     *  调用该方法隐藏键盘
     * @param context
     */
        public static void hide(Context context) { 
            InputMethodManager imm  = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
        View view = ((MainActivity) context).getWindow().peekDecorView(); 
        if (view != null && view.getWindowToken() != null) { 
                imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); 
                imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
        } 
}   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值