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的枚