EditText默认不获取焦点,隐藏软键盘,焦点监听,输入监听,样式设置
EditText可输入,但页面进来的时候默认不获取焦点,并不弹出软键盘。
手动点击的时候EditText获取焦点,弹出软键盘,但不把底部的布局顶上来。
1.在manifest中给Activity添加windowSoftInputMode属性
<activity
android:name=".MainActivity"
android:windowSoftInputMode="stateUnspecified|adjustResize|stateHidden|adjustPan">
</activity>
stateUnspecified:软键盘默认的设置
adjustResize:当前Activity自动调整屏幕大小留出软键盘的空间
stateHidden:当前Activity隐藏软键盘
adjustPan:如果EditText被软键盘覆盖了一半,当此EditText获取焦点的时候,当前Activity会自动调整让EditText完全显示,避免被软键盘遮挡
2.在EditText布局之前加上一个空布局,并requestFocus,相当于是把焦点抢了,这样EditText就获取不到焦点了
布局:
-
<LinearLayout
-
android:id="@+id/getfocus"
-
android:layout_width="0px"
-
android:layout_height="0px"
-
android:focusable="true"
-
android:focusableInTouchMode="true"
-
android:orientation="horizontal">
-
-
<requestFocus />
-
</LinearLayout>
-
-
<EditText
-
android:id="@+id/et_tel"
-
style="@style/styleEditText"
-
android:hint="请输入手机号"
-
android:inputType="number" />
3.主动获取焦点弹出软键盘
-
<activity android:name=".activity.SearchActivity"
-
android:windowSoftInputMode="stateVisible"/>
4.EditText焦点监听
-
EditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
-
-
@Override
-
public void onFocusChange(View v, boolean hasFocus) {
-
if(hasFocus){//获得焦点
-
-
}else{//失去焦点
-
-
}
-
}
-
});
5.EditText输入监听
-
EditText.addTextChangedListeneer(new TextWatcher){
-
@Override
-
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
//EditText改变之前
-
}
-
@Override
-
public void onTextChanged(CharSequence s, int start, int before, int count) {
-
//改变中
-
}
-
@Override
-
public void afterTextChanged(Editable s) {
-
//改变后
-
}
-
});
6.样式设置
去掉下划线 android:background="@null"
然后加上.9的圆角图或shape,写一个selector,选中加上颜色
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@drawable/edittext_normal" />
<item android:state_focused="true" android:drawable="@drawable/edittext_focused" />
</selector>
7.禁止输入
mEditText.setKeyListener(null);
文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/yechaoa/article/details/52963857
- 点赞
- 收藏
- 关注作者
评论(0)