问题
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:
- use as root
fragment.xml
layout RelativeLayour and putandroid:fitsSystemWindows="true"
inside. ScrollView use as a child of RelativeLayour.
<RelativeLayout android:fitsSystemWindows="true">
<ScrollView/>
</RelativeLayout>
- 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