Android 页面切换时抖动问题
来源:互联网 发布:2015年8月进出口数据 编辑:程序博客网 时间:2024/05/21 11:14
关于Android Activity(A)跳转到另一个Activity(B)的时候出现了一点问题;
A页面是全屏,B页面是非全屏(顶部有系统状态栏),当从A跳到B的时候,B的页面的标题栏(自定义)有一半被状态栏给挡住了,然后B页面再向下恢复正常(这个过程持续0.5秒)。给人一种很明显的抖动感觉。体验很差。
解决方案:
在B页面setContentView方法后调用如下函数
- /**
- * 状态栏处理:解决全屏切换非全屏页面被压缩问题
- */
- public void initStatusBar(int barColor) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
- int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
- // 获取状态栏高度
- int statusBarHeight = getResources().getDimensionPixelSize(resourceId);
- View rectView = new View(this);
- // 绘制一个和状态栏一样高的矩形,并添加到视图中
- LinearLayout.LayoutParams params
- = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, statusBarHeight);
- rectView.setLayoutParams(params);
- //设置状态栏颜色
- rectView.setBackgroundColor(getResources().getColor(barColor));
- // 添加矩形View到布局中
- ViewGroup decorView = (ViewGroup) getWindow().getDecorView();
- decorView.addView(rectView);
- ViewGroup rootView = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);
- rootView.setFitsSystemWindows(true);
- rootView.setClipToPadding(true);
- }
- }
2 0
- Android 页面切换时抖动问题
- 【android开发】解决输入法与表情面板切换时的界面抖动问题
- 解决Bootstrap模态框切换时页面抖动 or页面滚动条
- 解决Bootstrap模态框切换时页面抖动 or页面滚动条
- android TabHost+Fragment实现页面切换时遇到的问题
- 用bootstrap写弹窗,页面抖动问题
- 解决滚动条出现,页面抖动问题
- 背景图片切换实现轮播效果,并解决抖动问题
- 页面图片切换问题
- 页面跳转时屏幕出现抖动现象
- android页面切换
- android页面切换动画
- android页面切换
- android 页面切换
- android fragment页面切换GridView数据不能刷新的问题
- android 设置全局的页面切换动画问题
- firefox下滚动条消失引起页面抖动的问题
- CSS 控制应为Html页面高度导致抖动的问题
- Xcode 生成静态包.a文件
- The capture session could not be initiated (failed to set hardware filter to promiscuous mode).
- hadoop yarn配置错误修正
- TFTLCD字符缺失错位的问题发现及解决
- 二叉搜索书的第K个节点
- Android 页面切换时抖动问题
- Android ---Application 开发中共享全局数据
- sql优化的一些方法。
- android知识点整理1(知识点框架图)
- android源码中对Activity的各个生命周期方法注释内容【被我忽略的地方】
- 自定义控件和fragment使用流程和区别。
- 使用Java理解程序逻辑第十章----幸运抽奖
- 一些笔记
- myeclipse8.5 maven junit报ClassNotFoundException