首页 > 代码库 > Android不自动弹出软键盘和不让软键盘弹出挤压图形

Android不自动弹出软键盘和不让软键盘弹出挤压图形

软键盘弹出挤压图形很变态,设计好的模型会在软件盘弹出数据变得丑陋无比,为了保持不变,只需要在

Manifest.xml 相应的 Activity 里添加

android:windowSoftInputMode="adjustPan|stateHidden"

为了不让软件盘弹出,如果是Activity的话,可以直接添加如下代码解决自动弹出软键盘的问题

  <activity android:name="com.guandehao.baobiao.B_KuCunBaoBiao"             android:windowSoftInputMode="adjustPan|stateHidden"            android:configChanges="orientation|keyboardHidden"/>

 还有就是不在Activity下的设置可能无效,如ActivityFragment,那直接可以使用下面这些方法,上面的设置可以保留。

第一种方法:

就是在不要弹出软件盘对应的EditText的父控件里添加

android:focusable="true"
android:focusableInTouchMode="true"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:focusable="true"          android:focusableInTouchMode="true"     android:orientation="vertical" >

这是我感觉最方便的一个方法,也有人如下解决办法

这是第二种方法:

在xml文件中加入一个隐藏的TextView:

<TextView          android:id="@+id/config_hidden"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:focusable="true"          android:focusableInTouchMode="true"          />

然后再在Activity中加入:

/**防止自动弹出软键盘*/        TextView config_hidden = (TextView) view.findViewById(R.id.config_hidden);        config_hidden.requestFocus();

我推荐使用第一种方法,简洁。