开机动画完毕后出现竖屏转横屏的现象

开机动画完毕后出现竖屏转横屏的现象

开机后第一帧是竖屏,log:

Line 4531: 05-25 03:49:50.286   814   814 V ViewRootImpl[FallbackHome]: Measuring DecorView@240e6d9[FallbackHome] in display 800x1280...
	Line 4532: 05-25 03:49:50.289   814   814 V ViewRootImpl[FallbackHome]: Measuring DecorView@240e6d9[FallbackHome] in display 800x1280...
	Line 4533: 05-25 03:49:50.289   814   814 V ViewRootImpl[FallbackHome]: Laying out DecorView@240e6d9[FallbackHome] to (800, 1280)

随后第二帧是横屏,横屏log:

Line 5316: 05-25 03:49:51.947   814   814 V ViewRootImpl[FallbackHome]: Measuring DecorView@d7c3dd1[FallbackHome] in display 1280x800...
	Line 5318: 05-25 03:49:51.954   814   814 I ViewRootImpl[FallbackHome]: host=w:1280, h:800, params={(0,0)(fillxfill) sim={adjust=pan} ty=BASE_APPLICATION fmt=TRANSPARENT wanim=0x10302fe
	Line 5319: 05-25 03:49:51.954   814   814 I ViewRootImpl[FallbackHome]:   fl=LAYOUT_IN_SCREEN LAYOUT_INSET_DECOR SHOW_WALLPAPER SPLIT_TOUCH HARDWARE_ACCELERATED DRAWS_SYSTEM_BAR_BACKGROUNDS

1 尝试将开机动画延长2-3秒关闭,FallbackHome不再显示出来。
修改如下:
ro.target.product=box
方法不适用,开机动画是竖屏,launcher是横屏,出现开机动画和launcher无法吻合叠加情况。
2 FallbackHome是个透明的acivity,这里将FallbackHome 设置成横屏无效,

 <!-- Triggered when user-selected home app isn't encryption aware -->
        <activity android:name=".FallbackHome"
                  android:excludeFromRecents="true"
                  android:label=""
                  android:theme="@android:style/Theme.Translucent.NoTitleBar"
                  android:screenOrientation="reverseLandscape"
                  android:taskAffinity="com.android.settings.FallbackHome">
            <intent-filter android:priority="-1000">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

3 然后全屏,去掉状态栏,去掉壁纸,去掉navgationbar,保证不显示,看不到旋转动画,规避这个问题。
修改如下:

src/com/android/settings/FallbackHome.java
@@ -38,7 +38,7 @@ import android.util.Log;
 import android.view.View;
 import android.view.WindowManager.LayoutParams;
 import android.view.animation.AnimationUtils;
-
+import android.content.pm.ActivityInfo;
 import java.util.Objects;
 
 public class FallbackHome extends Activity {
@@ -84,19 +84,18 @@ public class FallbackHome extends Activity {
                 Settings.Global.DEVICE_PROVISIONED, 0) != 0;
         final int flags;
         if (!mProvisioned) {
-            setTheme(R.style.FallbackHome_SetupWizard);
-            flags = View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+            //setTheme(R.style.FallbackHome_SetupWizard);
+            flags = View.INVISIBLE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                     | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
         } else {
-            flags = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
+            flags = View.INVISIBLE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
         }
 
         mWallManager = getSystemService(WallpaperManager.class);
         if (mWallManager == null) {
             Log.w(TAG, "Wallpaper manager isn't ready, can't listen to color changes!");
         } else {
-            loadWallpaperColors(flags);
+            //loadWallpaperColors(flags);
         }
         getWindow().getDecorView().setSystemUiVisibility(flags);
 
@@ -187,11 +186,9 @@ public class FallbackHome extends Activity {
     // current system ui color tints.
     private int updateVisibilityFlagsFromColors(WallpaperColors colors, int flags) {
         if ((colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) != 0) {
-            return flags | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
-                    | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
+            return flags |  View.INVISIBLE;
         }
-        return flags & ~(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)
-                & ~(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
+        return flags | View.INVISIBLE;
     }

验证pass,开机后看不到转屏现象。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值