最近有同事問我EditText底邊被軟鍵盤擋住的問題,主要是EditText佈局在屏幕偏下方或底部時,軟鍵盤頂上去後,EditText底邊會被擋住一點,從視覺上有強迫症的話比較難接受,只能改!!!
問題原因是:EditText由開發人員給background設置了自定義的shape才導致的,但是shape應用到其它控件上沒有問題,看了代碼也沒什麼問題,很糾結!
解決方法:修改shape思路,如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
/*外層*/
<item>
<shape>
<solid android:color="@android:color/transparent" />
</shape>
</item>
/*內層*/
<item android:bottom="10dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
<padding
android:bottom="10dp"
android:left="5dp"
android:right="5dp"/>
<corners android:radius="2dp" /> /*這個圓角值可以根據需要自己改*/
<stroke
android:width="0.5dp"
android:color="@color/你想要的顏色資源" />
</shape>
</item>
</layer-list>
核心思路就是利用外層和內層的間距來抵消軟鍵盤擋住的那點高度。