一、摘要
公司登录功能让实现弹出软键盘,布局滑动效果使得将登录按钮顶上去,网上查了很多资料,大部分都是添加adjustPan | stateVisible 的属性,但是问题是我的界面效果没什么效果,它只是弹出到输入框的底部,离想要的效果还有很大差异。也有的网友说直接用LinearLayout 的权重 + ScrollView 来实现,但是效果也是不太理想。
二、功能实现
实现登录页面软键盘顶起功能,主要用了:
1)ScrollView + LinearLayout 权重效果;
2)设置需要顶起的控件,然后计算向上滑动距离。
三、布局
主要实现:使用ScrollView 作为最外层的控件,在布局中使用LinearLayout 的权重效果进行界面的实现
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<RelativeLayout
android:id="@+id/rl_login_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_ffffff">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/login_bg"
android:fitsSystemWindows="true"
android:scaleType="fitCenter"></ImageView>
<LinearLayout
an