EditText焦点问题
生活随笔
收集整理的这篇文章主要介绍了
EditText焦点问题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1、在一个Activity中加入一个EditText后,每次进入这个Activity时输入法都会自己主动弹出来。非常烦,找了些资料,在此记下解决的方法:
方法:在EditText的父控件中获得焦点。这样焦点就不会自己主动跑到EditText上了。
代码:
<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:focusable="true"android:focusableInTouchMode="true"android:orientation="vertical" ><EditTextandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center_vertical"android:background="@null"android:inputType="text"android:padding="3dp"android:singleLine="true"android:textColor="#666666"android:textColorHint="#777777" /> </LinearLayout>
2、希望在EditText获得焦点时才弹出输入法,失去焦点时关闭输入法。
方法:设置EditText的FocusListener。
代码:
mTitleEdit = (EditText)findViewById(R.id.share_title_edit); mTitleEdit.setOnFocusChangeListener(onFocusChangeListener); mContentEdit = (EditText)findViewById(R.id.share_content_edit); mContentEdit.setOnFocusChangeListener(onFocusChangeListener);private OnFocusChangeListener onFocusChangeListener = new OnFocusChangeListener() {@Overridepublic void onFocusChange(View v, boolean hasFocus) {if(hasFocus) {SystemUtils.showSoftInput(SharePubActivity.this, v);} else {SystemUtils.hideSoftInput(SharePubActivity.this, v);}} };public static void showSoftInput(Context context, View v) {InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(v, 0); }public static void hideSoftInput(Context context, View v) {InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(v.getWindowToken(), 0); }
总结
以上是生活随笔为你收集整理的EditText焦点问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: jhipster项目迁移websocke
- 下一篇: Spark的枚举类型实例!scala的枚