在这里记录下编程开发的各种小技巧,帮助他人,成长自己。

  • 当 Activity 设置了 android:windowIsTranslucent 后,其屏幕旋转取决于透明 Activity 背后的那个 Activity,我们可以把透明 Activity 当做一种特殊的 Dialog,这样大致可以理解 Android 开发团队为何要这样做了。如果我们需要动态修改旋转特性,我目前有两种方案:

    1. 1. 添加 android:screenOrientation="sensor" ,让透明 Activity 的旋转完全取决于传感器,这样做的代价就是系统的屏幕旋转设置将失效。
    2. 2. 修改透明 Activity 的 screenOrientation 同时,修改背后的那个 Activity 的 screenOrientation。如果你有建立自己的 ActivityManager,那你可以精确定位背后的那个 Activity,否则就只能通过 EventBus 传递这个通知,其它 Activity 在接收到通知时,如果自身依旧是可见状态,那么就处理这个消息。(透明 Activity 背后的那个 Activity 不会调用 onStop)
      Android