顾客要求:
我想通过移动背景的 2 个 png 元素(客户请求)在所有活动之间创建平滑过渡。详细说明:我有一个右侧元素应该向左移动 20sp,左侧有一个镜像元素应该向右移动。
我当前的代码:
过渡看起来不错,为此我在所有活动布局中创建了 2 个具有相同“transitionName”的共享元素:
android:transitionName="transitionLeft"
在我的清单中,我设置了自己的风格:
<application
android:allowBackup="true"
android:fullBackupContent="@xml/backup_descriptor"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
在我的“res/values/style.xml”中,我将 windowsContentTransitions 设置为 true:
<!-- Activity theme -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
</style>
而且,可以肯定的是,在 onCreate() 开头的所有活动中,我都添加了:
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
在 onWindowFocusChanged() 的所有活动中,我设置了 SYSTEM_UI_FLAG_FULLSCREEN:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
// Hide the nav bar and status bar
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN);
}
}
我的问题:
当我打开一个活动时,过渡已经运行,但我总是在工具和标题栏上看到一个短暂的淡入淡出,我不想拥有它。但是,在我看来,我所做的一切已经隐藏了这些栏,但它不会正常工作。