使用环境:
输入框很常用,但是进入界面的时候会弹出输入框,这样很不合时,因为输入框占用了半个界面
使用方法:
1 给EditText的父类设置点击事件,这样,虚拟键盘就在onCreate界面的时候弹出。
<LinearLayout android:layout_width="match_parent" android:layout_height="@dimen/sixty" android:background="@color/F1F1F1" android:focusable="true" //这一句 android:focusableInTouchMode="true" //这一句 android:gravity="center"> <EditText android:onClick="@{activity.searchPoint}" android:id="@+id/editSearch" android:layout_width="match_parent" android:layout_height="@dimen/forty" android:layout_marginLeft="@dimen/ten" android:layout_marginRight="@dimen/ten" android:background="@drawable/draw_usersget_textview_find" android:gravity="center" android:hint="@string/search" android:textColorHint="@color/NNN" android:textSize="@dimen/text_fifteen" android:textColor="@color/textcolor_three" /> </LinearLayout>
2 写个工具类,毕竟不是只有这一个地方需要用到
public class EditTextUtil { public static void searchPoint(Context context,EditText editText){ InputMethodManager mInputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); editText.findFocus(); mInputMethodManager.showSoftInput(editText, InputMethodManager.SHOW_FORCED); } public static void losePoint(Context context,EditText editText){ InputMethodManager mInputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); editText.setFocusable(false); if (mInputMethodManager.isActive()) { mInputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(), 0); } } }
searchPoint 点击输入框时调用
lostPoint 初始化时或者输入框使用过后调用
转自:https://blog.csdn.net/sgyingyin/article/details/49585985
在此致谢!