前两款android智能机开发过程中曾经遇到过在launcher主屏界面上建一个应用快捷图标,在横屏的状态下点击打开此应用,然后按返回键,很大概率上屏幕会刷新失败,显示半屏黑屏,是由于关闭当前activity时是横屏状态,关闭后返回到壁纸界面是竖屏,windowManagerService刷新处理问题。现将解决方案贴出来,望以后遇到此问题的同学借鉴:
boolean gone = win.mViewVisibility == View.GONE
|| !win.mRelayoutCalled
|| win.mRootToken.hidden
|| (atoken != null && atoken.hiddenRequested)
|| win.mAttachedHidden
|| win.mExiting || win.mDestroying;
if (!win.mLayoutAttached) {
if (DEBUG_LAYOUT) Slog.v(TAG, "First pass " + win
+ ": gone=" + gone + " mHaveFrame=" + win.mHaveFrame
+ " mLayoutAttached=" + win.mLayoutAttached);
if (DEBUG_LAYOUT && gone) Slog.v(TAG, " (mViewVisibility="
+ win.mViewVisibility + " mRelayoutCalled="
+ win.mRelayoutCalled + " hidden="
+ win.mRootToken.hidden + " hiddenRequested="
+ (atoken != null && atoken.hiddenRequested)
+ " mAttachedHidden=" + win.mAttachedHidden);
}
if (win.mIsWallpaper)
{
gone = win.mViewVisibility == View.GONE
|| !win.mRelayoutCalled
|| (atoken != null && atoken.hiddenRequested)
|| win.mAttachedHidden
|| win.mExiting || win.mDestroying;
}
// If this view is GONE, then skip it -- keep the current
// frame, and let the caller know so they can ignore it
// if they want. (We do the normal layout for INVISIBLE
// windows, since that means "perform layout as normal,
// just don't display").
if (!gone || !win.mHaveFrame) {
if (!win.mLayoutAttached) {
mPolicy.layoutWindowLw(win, win.mAttrs, null);
win.mLayoutSeq = seq;
if (DEBUG_LAYOUT) Slog.v(TAG, "-> mFrame="
+ win.mFrame + " mContainingFrame="
+ win.mContainingFrame + " mDisplayFrame="
+ win.mDisplayFrame);
} else {
if (topAttached < 0) topAttached = i;
}
}
分享到:
相关推荐
如果你发现你怎么样去弄都不能把手机的界面布局做好,甚至你连怎么做都不知道的话,赶紧下载这个看看!
Android 简单例子:横屏 竖屏切换功能实例,当屏幕为横屏时,可将屏幕切换成竖屏状态,并检测屏幕是否切换成功。反之,当屏幕为竖屏时切换为横屏显示。
Android 屏幕自适应方向尺寸与分辨率,包括屏幕界面布局、多分辨率支持、获取屏幕尺寸、屏幕横屏与竖屏等,android 模拟器横屏,android 虚拟机横屏,android 判断横屏,android 禁止横屏,android 强制横屏,...
android点击图标关闭屏幕,
Android用代码实现唤醒屏幕的代码(不是物理的电源键)。例如:闹铃时间到了唤醒屏幕
根据大家需要,我把4.4kk电量BatteryMeterView图片分为横屏和竖屏,可以给大家解决自身的问题
android安卓app处理屏幕旋转事件,竖屏变横屏,横屏变竖屏
本软件可以实时显示android手机屏幕的动态 方便android开发人员开发 欢迎前来下载
ANDROID自适应屏幕大小和LAYOUT布局横屏竖屏
android界面动态刷新技巧,使用权重可以有效控制界面的占屏比例饿
解决了Android手机屏幕横竖屏切换的问题
主要介绍了Android屏幕旋转之横屏竖屏切换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
高通平台 android9.0默认为竖屏,附件通过修改android源码修改屏幕默认为横屏显示源码
自己写的 android 屏幕测试 显示在全屏状态下,测试 R G B三色 和 全黑,全白几种状态
Android电脑源码通过adb实现实时屏幕演示
android触摸屏测试程序,android市场上都有下的
而且Android屏幕大小也可以在横屏和竖屏之间切换,界面也需要调整。如何取得屏幕的方向:默认情况下,当屏幕方面切换时,activity的onCreate()方法会被重新调用,所以可以在其中通过以下代码来读取屏的方向:...
android应用开发,包括横竖屏的切换以及屏幕自适应
Android Fragment
主要介绍了Android判断屏幕是横屏或是竖屏的简单实现方法,是Android应用开发中常用的功能,需要的朋友可以参考下