Android軟鍵盤問題

一:有EditTexit時自動獲取焦點
      一、得到焦點不彈出輸入框, 隱藏軟鍵盤;     android

     二、不讓文本框得到焦點;code

     方法一:server

        在<activity>標籤中加入: android:windowSoftInputMode = "stateHidden"xml

     方法二:get

       在OnCreate()中it

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

    方法三:class

   咱們能夠搶佔文本框的焦點,如在其父窗體中加入:
 <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> List

二:默認彈出的鍵盤模式就是數字鍵盤。方法

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
    }
    });
相關文章
相關標籤/搜索