最近在写登录注册页的时候遇到一个问题,关于EditText底线会被输入法挡住的问题,网上也搜索的相关资料,解决了部分问题,后来在设置代码中遇到了一些难受的bug,这里就此bug做一个记录,整理。
参考资料链接http://www.cnblogs.com/jerehedu/p/4194125.html
通过在项目的AndroidManifest.xml文件中界面对应的<activity>里加入android:windowSoftInputMode="stateVisible|adjustResize"后,下面是我的最终正确代码:
<EditText
android:id="@+id/et_phone"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:singleLine="true"
android:background="@null"
android:hint="请输入手机号进行快捷登录"
android:textColorHint="@color/white_p50"
android:textCursorDrawable="@null"
android:drawableLeft="@mipmap/ic_user"
android:drawablePadding="8dp"
android:paddingBottom="8dp"
android:paddingTop="20dp"
android:drawableBottom="@drawable/blue_edittext_line"
android:textSize="16sp"
android:textColor="@color/white" />
这里有一个问题如果height设置了固定的高度,就依然会出现底线android:drawableBottom="@drawable/blue_edittext_line"被输入法挡住的问题,这个解决方案就是不设置固定高度,直接用
android:paddingBottom="8dp"
android:paddingTop="20dp"
另外,底线距离输入框的距离也可以通过设置android:paddingBottom="8dp"来解决。
android:background="@null"是使系统自带的背景消失。
就这么简单,,
总结一下主要代码块
android:drawablePadding="8dp"
android:paddingBottom="8dp"
android:paddingTop="20dp"
android:drawableBottom="@drawable/blue_edittext_line"
这是我的@drawable/blue_edittext_line
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="0dip" />
<size
android:height="1dp"
android:width="2000dp" />
<solid android:color="#9000fff0" />
</shape>
如果直接画线布局,显示不出来(原因没有深查),也可以找美工要一个线做成.9图~
转载请标注原文链接