BarTransitions

文章介绍了BarTransitions库的模式切换方法,包括PhoneStatusBarTransitions和NavigationBarTransitions的使用,以及开机时出现的与状态栏模式恢复相关的Java异常。
摘要由CSDN通过智能技术生成

BarTransitions 有以下7中模式:

    public static final int MODE_TRANSPARENT = 0; 全透明
    public static final int MODE_SEMI_TRANSPARENT = 1; 半透明
    public static final int MODE_TRANSLUCENT = 2;
    public static final int MODE_LIGHTS_OUT = 3;
    public static final int MODE_OPAQUE = 4; 不透明
    public static final int MODE_WARNING = 5;
    public static final int MODE_LIGHTS_OUT_TRANSPARENT = 6;

提供了mode切换的方法。

BarTransitions的子类有PhoneStatusBarTransitions 和 NavigationBarTransitions。

PhoneStatusBarTransitions 的作用

可以根据不同的模式来设置:

mLeftSide.setAlpha(newAlpha);
            mStatusIcons.setAlpha(newAlpha);
            mBattery.setAlpha(newAlphaBC);

可以在演示模式中发送广播来更改模式。

NavigationBarTransitions的作用

关于开机默认设置:

开机报错

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
	at com.android.systemui.statusbar.phone.BarTransitions.transitionTo(BarTransitions.java:112)
	at com.android.systemui.statusbar.phone.StatusBar.checkBarMode(StatusBar.java:2468)
	at com.android.systemui.statusbar.phone.StatusBar.checkBarModes(StatusBar.java:2445)
	at com.android.systemui.statusbar.phone.StatusBar.lambda$makeStatusBarView$3(StatusBar.java:1091)
	at com.android.systemui.statusbar.phone.StatusBar.lambda$makeStatusBarView$3$StatusBar(Unknown Source:0)
	at com.android.systemui.statusbar.phone.-$$Lambda$StatusBar$TPJyILujZ88K3rKFmgzHGHpbtLo.onFragmentViewCreated(Unknown Source:2)
	at com.android.systemui.fragments.FragmentHostManager.lambda$onFragmentViewCreated$0(FragmentHostManager.java:140)
	at com.android.systemui.fragments.-$$Lambda$FragmentHostManager$OsWXqtcfRJZBAvEEeN8CG6EN5T4.accept(Unknown Source:6)
	at java.util.ArrayList.forEach(ArrayList.java:1262)
	at com.android.systemui.fragments.FragmentHostManager.onFragmentViewCreated(FragmentHostManager.java:140)
	at com.android.systemui.fragments.FragmentHostManager.access$000(FragmentHostManager.java:49)
	at com.android.systemui.fragments.FragmentHostManager$1.onFragmentViewCreated(FragmentHostManager.java:80)
	at android.app.FragmentManagerImpl.dispatchOnFragmentViewCreated(FragmentManager.java:3342)
	at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1314)
	at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2431)
	at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2210)
	at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2166)
	at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2067)
	at android.app.FragmentManagerImpl$1.run(FragmentManager.java:742)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:223)
	at android.app.ActivityThread.main(ActivityThread.java:7677)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

开机报错

 java.lang.IllegalStateException: restoreAppearanceAndTransientState mNavigationBarMode : 0
 	at com.android.systemui.statusbar.phone.NavigationBarFragment.restoreAppearanceAndTransientState(NavigationBarFragment.java:830)
 	at com.android.systemui.statusbar.NavigationBarController.lambda$createNavigationBar$0(NavigationBarController.java:156)
 	at com.android.systemui.statusbar.NavigationBarController.lambda$createNavigationBar$0$NavigationBarController(Unknown Source:0)
 	at com.android.systemui.statusbar.-$$Lambda$NavigationBarController$oyTONslWMHHQSXiga3Vs0njIek8.onFragmentViewCreated(Unknown Source:14)
 	at com.android.systemui.fragments.FragmentHostManager.lambda$onFragmentViewCreated$0(FragmentHostManager.java:140)
 	at com.android.systemui.fragments.-$$Lambda$FragmentHostManager$OsWXqtcfRJZBAvEEeN8CG6EN5T4.accept(Unknown Source:6)
 	at java.util.ArrayList.forEach(ArrayList.java:1262)
 	at com.android.systemui.fragments.FragmentHostManager.onFragmentViewCreated(FragmentHostManager.java:140)
 	at com.android.systemui.fragments.FragmentHostManager.access$000(FragmentHostManager.java:49)
 	at com.android.systemui.fragments.FragmentHostManager$1.onFragmentViewCreated(FragmentHostManager.java:80)
 	at android.app.FragmentManagerImpl.dispatchOnFragmentViewCreated(FragmentManager.java:3342)
 	at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1314)
 	at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2431)
 	at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2210)
 	at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2166)
 	at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2067)
 	at android.app.FragmentManagerImpl$1.run(FragmentManager.java:742)
 	at android.os.Handler.handleCallback(Handler.java:938)
 	at android.os.Handler.dispatchMessage(Handler.java:99)
 	at android.os.Looper.loop(Looper.java:223)
 	at android.app.ActivityThread.main(ActivityThread.java:7677)
 	at java.lang.reflect.Method.invoke(Native Method)
 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值