输入法出现时,局部上移的代码

其实读了一篇Android实现弹出输入法时,顶部固定,中间部分上移的效果文章之后,大致方法已经知道,可是怎么调都调不对,因此笔者试了各种方法,最后才发现由于一个小细节才没有局部上移的效果。

具体步骤如下:

(1)在AndroidManifest.xml中配置的activity标签里添加android:windowSoftInputMode="stateAlwaysHidden|adjustResize"属性,stateAlwaysHidden可以不加,adjustResize一定要加。

(2)如果activity是全屏,请去掉全屏属性,否则无法有此效果。笔者就是在这一步中招了,由于个人习惯,喜欢设置全屏的activity,所以导致无法完成局部上移的效果。

(3)最后,布局文件如下:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     xmlns:android="http://schemas.android.com/apk/res/android">

    <ScrollView
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:fillViewport="true">
        <!-- 固定布局 fillViewport表示子布局填充满-->
     </ScrollView>
    
       
    <RelativeLayout
      android:layout_width="wrap_content"
      android:layout_height="match_parent"
      android:layout_alignParentBottom="true">
      <EditText
        android:id="@+id/edittext"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_alignParentBottom="true"
         />
   </RelativeLayout>
        
    
    
</RelativeLayout>

相关推荐