EditText所遇到的问题

记录使用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”

你可能感兴趣的:(EditText所遇到的问题)