Android软键盘问题
Android软键盘问题
当空皓月 发表于3年前
Android软键盘问题
  • 发表于 3年前
  • 阅读 149
  • 收藏 1
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

一:有EditTexit时自动获取焦点
      1、获得焦点不弹出输入框, 隐藏软键盘;     

     2、不让文本框获得焦点;

     方法一:

        在<activity>标签中加入: android:windowSoftInputMode = "stateHidden"

     方法二:

       在OnCreate()中

getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)

    方法三:

   我们可以抢占文本框的焦点,如在其父窗体中加入:
 <LinearLayout 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:orientation="vertical"
    android:focusable="true"
    android:focusableInTouchMode="true"
    tools:context=".MainActivity" >
      <EditText
         android:id="@+id/etMsg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
     </LinearLayout> 

二:默认弹出的键盘模式就是数字键盘。

EditText et = (EditText) findViewById(R.id.editNum);
         et.setInputType(InputType.TYPE_CLASS_NUMBER);
给你的EditText设置输入类型 TYPE_CLASS_NUMBER,这样你在点击EditText的时候,默认弹出的键盘模式就是数字键

盘。

三:获取软键盘高度:

mRootWindow = getWindow();mRootView = mRootWindow.getDecorView().findViewById(android.R.id.content);mRootView.getViewTreeObserver().addOnGlobalLayoutListener(
    new ViewTreeObserver.OnGlobalLayoutListener() {
    public void onGlobalLayout(){
        Rect r = new Rect();
        View view = mRootWindow.getDecorView();
        view.getWindowVisibleDisplayFrame(r);
        // r.left, r.top, r.right, r.bottom
    }
    });


共有 人打赏支持
粉丝 13
博文 176
码字总数 65862
×
当空皓月
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: