I.S*_*I.S 6 android android-animation android-activity
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- enable window content transitions -->
<item name="android:windowContentTransitions">true</item>
<item name="android:windowActionBarOverlay">false</item>
<item name="android:windowSharedElementsUseOverlay">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
或从转换中的java类导航和状态栏中排除
View decor = ((PhotosActivity)context).getWindow().getDecorView();
View statusBar = decor.findViewById(android.R.id.statusBarBackground);
View navBar = decor.findViewById(android.R.id.navigationBarBackground);
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation((PhotosActivity) context,
new android.support.v4.util.Pair<>(photo, "photo")
new android.support.v4.util.Pair<>(statusBar, Window.STATUS_BAR_BACKGROUND_TRANSITION_NAME),
new android.support.v4.util.Pair<>(navBar, Window.NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME));
);
context.startActivity(photoIntent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
它继续闪烁
View decor = getWindow().getDecorView();该decor视图用于获取默认操作栏。
makeSceneTransitionAnimation用于定义两个活动之间的共享小部件。
防止操作栏、状态栏和导航栏闪烁。onCreate请在2 个活动的方法中添加以下代码行:
Fade fade = new Fade();
View decor = getWindow().getDecorView();
fade.excludeTarget(decor.findViewById(R.id.action_bar_container), true);
fade.excludeTarget(android.R.id.statusBarBackground, true);
fade.excludeTarget(android.R.id.navigationBarBackground, true);
getWindow().setEnterTransition(fade);
getWindow().setExitTransition(fade);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
961 次 |
| 最近记录: |