记录使用EditText所遇到的坑。
EditText与布局冲突的导致布局顶起问题
- 在ScrollView下,嵌套EditText,去掉scrollbar属性可解决冲突。
- 或是保留scrollbar属性,在EditText所在Java代码进行设置:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
这个也可以通过在manifest.xml中进行如下设置
<activity
android:name=".EditActivity"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustResize"/>
- 详细解决方法参考这篇文章
软键盘与EditText的焦点之争
首先,详细解决方案参考此文章,其中介绍了以下几点:
- 如何打开和关闭软键盘,介绍了一个实用的工具类
- 监听软键盘的开启和关闭状态
其次,请看这篇文章,介绍了如何将EditText的焦点真正取消。
原理如下:EditText父布局设置android:focusableInTouchMode为true,EditText调用clearFocus()方法,系统会移除焦点,转而从View层次自顶乡下寻找合适的View获取焦点,所以下一个焦点会被EditText的父布局获取,也就取消了EditText的焦点.
EditText去掉下划线
android:backgroud=”@null”