Activity transition black screen(活动过渡黑屏)
本文介绍了活动过渡黑屏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我有WelcomeActivity->HomeActivity,并用finish()/supportFinishAfterTransition()
关闭WelcomeActivity。我想做SlideTransition或fadeTransition(顺便提一下,欢迎其他建议)。
我对此进行了研究,结果发现有2种以上的方法可以做到这一点:要么使用overridePendingTransition
(使用Anim.xml文件),要么使用转换(来自android docs),使用Transition.xml文件.
这两个我都试过了,都出现了不想要的结果:
- 对于动画:我看到这个难看的中间过渡黑屏:
fade_in.xml:
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
fade_out.xml:
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:zAdjustment="top"
android:duration="300" />
WelcomeActivity:(我已尝试在OverridePendingTransaction之前完成)
startActivity(Intent(this, HomeActivity::class.java))
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
finish()
- 对于转换:我无法使WelcomeActivity正常关闭:它要么在动画开始之前关闭,要么根本不关闭。我正在跟随android docs..我也试过这个:
style.xml
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowEnterTransition">@transition/enter_fade</item>
<item name="android:windowExitTransition">@transition/exit_fade</item>
我的其他问题是我应该采用哪种方法?谷歌是否将过渡推向Anims以开始新的活动?
推荐答案
我总是做的是开始一项活动(无论您选择哪种方式,方式都是listed here)。
我使用以下两个文件使用幻灯片切换:
lide_out_left.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0"
android:toXDelta="-100%p" />
</set>
lide_in_right.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0" />
</set>
然后我像这样开始一个活动(这是java):
startActivity(MainActivity.this, SecondActivity.class);
overridePendingTransition(R.anim.slide_in_right.xml, R.anim.slide_in_left.xml);
finish();
使用此功能,活动将从右向左平稳退出,让位于新活动。
对于黑屏,在AndroidManifest.xml
文件中将该活动的主题设置为半透明
android:theme="@android:style/Theme.Translucent"
因此您的代码将如下所示
<activity android:name=".Activity"
android:theme="@android:style/Theme.Translucent" />
黑屏答案来自:https://stackoverflow.com/a/6468734/9819031
这篇关于活动过渡黑屏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:活动过渡黑屏
基础教程推荐
猜你喜欢
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01