会挽雕弓如满月,西北望,射天狼。这篇文章主要讲述如何在Android应用程序中一次更改所有活动转换?相关的知识,希望能为你提供帮助。
我知道我可以在startActivity()或finish()之后使用以下代码更改活动转换
activity.overridePendingTransition(R.anim.activity_close_enter, R.anim.activity_close_exit);
但如果我在我的应用程序中有十个活动,我必须这样做十次;
并且很难修改。所以我想知道是否有办法立即为应用程序中的所有活动设置转换。 androidManifest.xml中是否有相应的配置?
谢谢!
答案您想首先在res / styles.xml中创建一个<
style>
,如下所示:
<
style name="YourAnimation.Activity" parent="@android:style/Animation.Activity">
<
item name="android:windowEnterAnimation">
@anim/your_in_down<
/item>
<
item name="android:windowExitAnimation">
@anim/your_out_down<
/item>
<
/style>
然后,您可以将样式应用于同一文件中的主题:
<
style name="YourTheme" parent="android:Theme.Translucent">
...
<
item name="android:windowAnimationStyle">
@style/YourAnimation.Activity<
/item>
<
/style>
最后将主题应用于清单中的活动:
<
activity
android:name=".YourActivity"
android:theme="@style/YourTheme" />
请查看以下链接以供参考:
- Android Reference - Apply A Theme
- Android Reference - WindowEnterAnimation
<
style name="YourTheme" parent="android:Theme.Translucent">
...
<
item name="android:windowAnimationStyle">
@style/YourAnimation.Activity<
/item>
<
/style>
<
style name="YourAnimation.Activity" parent="@android:style/Animation.Activity">
<
item name="android:activityOpenEnterAnimation">
@anim/slide_in_right<
/item>
<
item name="android:activityOpenExitAnimation">
@anim/slide_out_left<
/item>
<
item name="android:activityCloseEnterAnimation">
@android:anim/slide_in_left<
/item>
<
item name="android:activityCloseExitAnimation">
@android:anim/slide_out_right<
/item>
<
/style>
另一答案我的解决方案大多像JPM的回答。但是这里有一些您可能需要的附加文件。
<
!-- Base application theme. -->
<
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<
!-- Customize your theme here. -->
<
item name="colorPrimary">
@color/colorPrimary<
/item>
<
item name="colorPrimaryDark">
@color/colorPrimaryDark<
/item>
<
item name="colorAccent">
@color/colorPrimary<
/item>
<
item name="android:windowAnimationStyle">
@style/CustomActivityAnimation<
/item>
<
/style>
<
style name="CustomActivityAnimation" parent="@android:style/Animation.Activity">
<
item name="android:activityOpenEnterAnimation">
@anim/slide_in_right<
/item>
<
item name="android:activityOpenExitAnimation">
@anim/slide_out_left<
/item>
<
item name="android:activityCloseEnterAnimation">
@anim/slide_in_left<
/item>
<
item name="android:activityCloseExitAnimation">
@anim/slide_out_right<
/item>
<
/style>
在res文件夹下创建anim文件夹,然后创建这四个动画文件:
slide_in_right.xml
<
?xml version="1.0" encoding="utf-8"?>
<
set xmlns:android="http://schemas.android.com/apk/res/android">
<
translate android:fromXDelta="100%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
<
/set>
【如何在Android应用程序中一次更改所有活动转换()】slide_out_left.xml
<
?xml version="1.0" encoding="utf-8"?>
<
set xmlns:android="http://schemas.android.com/apk/res/android">
<
translate android:fromXDelta="0" android:toXDelta="-100%p"
android:duration="@android:integer/config_mediumAnimTime"/>
<
/set>
slide_in_left.xml
<
?xml version="1.0" encoding="utf-8"?>
<
set xmlns:android="http://schemas.android.com/apk/res/android">
<
translate android:fromXDelta="-100%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
<
/set>
slide_out_right.xml
<
?xml version="1.0" encoding="utf-8"?>
<
set xmlns:android="http://schemas.android.com/apk/res/android">
<
translate android:fromXDelta="0" android:toXDelta="100%p"
android:duration="@android:integer/config_mediumAnimTime"/>
<
/set>
另一答案
My solution is mostly like of others...
<
style name="YourAnimation.Activity" parent="@android:style/Animation.Activity">
<
item name="android:windowEnterAnimation">
@anim/slidefromright<
/item>
<
item name="android:windowExitAnimation">
@anim/slidetoright<
/item>
<
/style>
<
resources>
<
!-- Base application theme. -->
<
style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<
!-- Customize your theme here. -->
<
item name="colorPrimary">
@color/colorPrimary<
/item>
<
item name="colorPrimaryDark">
@color/colorPrimaryDark<
/item>
<
item name="colorAccent">
@color/colorAccent<
/item>
<
item name="android:windowAnimationStyle">
@style/YourAnimation.Activity <
/item>
<
/style>
<
/resources>
推荐阅读
- 在从Golang Buffalo webapp发送推文时设置CSRF令牌时遇到问题
- UX研究技术及其应用
- UX研究方法和用户共鸣之路
- 想想S.M.A.R.T.在为下一个UX项目定义业务目标时
- UX产品组合技巧和最佳实践
- 改变是好是坏( UX创新指南)
- 言语至关重要– UX复制的真正价值
- UX神话–原型设计,用户测试和UX可交付成果
- 什么是UX??设计(常见的误解和UX神话)