android 当设置Activity状态栏为透明时,键盘弹出ScrollView滚动无效解决方案

来源:互联网 发布:做淘宝客服的要求 编辑:程序博客网 时间:2024/05/21 18:42
final View decorView = getWindow().getDecorView();decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {    @Override    public void onGlobalLayout() {        Rect rect = new Rect();        decorView.getWindowVisibleDisplayFrame(rect);        int screenHeight = decorView.getRootView().getHeight();        int heightDifference = screenHeight - rect.bottom;//计算软键盘占有的高度  = 屏幕高度 - 视图可见高度        LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) loginBinding.scrollView.getLayoutParams();        layoutParams.setMargins(0, 0, 0, heightDifference);//设置ScrollView的marginBottom的值为软键盘占有的高度即可        loginBinding.scrollView.requestLayout();    }});
0 0
原创粉丝点击