Android - adjust scrollview when keyboard is up for android 5.0 (lollipop)

点点圈 提交于 2019-12-18 05:57:51

问题


I have a problem on android lollipop, screen doesn't adjust size when the softkeyboard comes up.

This is my manifest intro example from one of the activity i made:

android:windowSoftInputMode="stateAlwaysHidden|adjustResize" 

Is there something new that is added and we have to take into account for android 5.0 ? The scrollview works fine on android < 5.0.


回答1:


the problem was that it didn't work with translucent status bar and i had to set

 android:fitsSystemWindows="true"

in my main layout




回答2:


For the guy's who still have this issue even with android:fitsSystemWindows="true" in the ScrollView.

I found few ways to solve it:

  1. use as root fragment.xml layout RelativeLayour and put android:fitsSystemWindows="true" inside. ScrollView use as a child of RelativeLayour.
<RelativeLayout android:fitsSystemWindows="true">
  <ScrollView/>
</RelativeLayout>
  1. use NestedScrollView instead of ScrollView.

Both options should be used with android:windowSoftInputMode="adjustResize" and works on Android 5 with <item name="android:windowTranslucentStatus">true</item> flag. `




回答3:


Nothing I've tried has worked and Ive gone through every single concievable combination of different Manifest settings etc to no avail.

Its a little hacky but it works beautifully for me:

((RelativeLayout) findViewById(R.id.rootLayout)).addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
            @Override
            public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
                scrollToLatest(); // Do your scrolling!
            }
        });


来源:https://stackoverflow.com/questions/27167176/android-adjust-scrollview-when-keyboard-is-up-for-android-5-0-lollipop

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!