一:有EditTexit时自动获取焦点
1、获得焦点不弹出输入框, 隐藏软键盘;
2、不让文本框获得焦点;
方法一:
在标签中加入: android:windowSoftInputMode = "stateHidden"
方法二:
在OnCreate()中
getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)
方法三:
我们可以抢占文本框的焦点,如在其父窗体中加入:
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" >
android:id="@+id/etMsg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
二:默认弹出的键盘模式就是数字键盘。
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
}
});