沉浸式状态栏与界面adjustResize之间的bug解决方案
来源:互联网 发布:windows live软件包 编辑:程序博客网 时间:2024/06/03 19:20
public class AndroidBug5497Workaround { public static void assistActivity (Activity activity) { new AndroidBug5497Workaround(activity); } private View mChildOfContent; private int usableHeightPrevious; private FrameLayout.LayoutParams frameLayoutParams; private AndroidBug5497Workaround(Activity activity) { FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content); mChildOfContent = content.getChildAt(0); mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { public void onGlobalLayout() { possiblyResizeChildOfContent(); } }); frameLayoutParams = (FrameLayout.LayoutParams) mChildOfContent.getLayoutParams(); } private void possiblyResizeChildOfContent() { int usableHeightNow = computeUsableHeight(); if (usableHeightNow != usableHeightPrevious) { int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight(); int heightDifference = usableHeightSansKeyboard - usableHeightNow; if (heightDifference > (usableHeightSansKeyboard/4)) { // keyboard probably just became visible frameLayoutParams.height = usableHeightSansKeyboard - heightDifference; } else { // keyboard probably just became hidden Rect r = new Rect(); mChildOfContent.getWindowVisibleDisplayFrame(r); frameLayoutParams.height = usableHeightSansKeyboard- r.top; } mChildOfContent.requestLayout(); usableHeightPrevious = usableHeightNow; } } private int computeUsableHeight() { Rect r = new Rect(); mChildOfContent.getWindowVisibleDisplayFrame(r); // - r.top return (r.bottom - r.top); }}
在Oncreate里面调用
AndroidBug5497Workaround.assistActivity(this);问答题就解决了
0 0
- 沉浸式状态栏与界面adjustResize之间的bug解决方案
- android 解决沉浸式状态栏下adjustResize失效
- Android----让你的状态栏变色-----沉浸式状态栏解决方案
- Android----让你的状态栏变色-----沉浸式状态栏解决方案
- Android 沉浸式状态栏解决方案
- Android App第一次开始进入的界面,沉浸式状态栏
- Android的沉浸式状态栏与变色状态栏详解
- App在自己界面奔溃回到首页,状态栏沉浸式消失bug
- Android沉浸式状态栏与EditText问题【沉浸式状态栏实现及遇到的坑】
- 透明状态栏与沉浸式
- Android App 沉浸式状态栏解决方案
- Android App 沉浸式状态栏解决方案
- Android App 沉浸式状态栏解决方案
- android沉浸式状态栏--解决方案(一)
- Android App 沉浸式状态栏解决方案
- Android App 沉浸式状态栏解决方案
- Android App 沉浸式状态栏解决方案
- Android App 沉浸式状态栏解决方案
- Linux系统设置定时任务
- 那些 ~修饰符
- 一分钟认识 Git
- MATLAB硕博联盟招聘
- 树莓派增加触摸开关模块
- 沉浸式状态栏与界面adjustResize之间的bug解决方案
- UIPresentationController 注意事项
- LinearLayout布局——权重布局
- LeetCode题解:Single Number III
- maven3实战之设置HTTP代理
- 应用程序退出解决方法
- 方法和变量在继承时的覆盖和隐藏问题
- 正则表达式--来自《Java编程思想第四版》第13章
- location