gpt4 book ai didi

android - Activity 过渡黑屏

转载 作者:行者123 更新时间:2023-11-29 23:18:03 32 4
gpt4 key购买 nike

所以我有 WelcomeActivity -> HomeActivity 并使用 finish()/supportFinishAfterTransition() 关闭 WelcomeActivity。我想执行 slideTransition 或 fadeTransition(对其他建议开放)。

我对此进行了研究,结果证明有 2 种以上的方法:使用 anim.xml 文件的 overridePendingTransition 或使用 Transitions(来自 android docs )使用transition.xml 文件...

我都试过了,但都给了我不想要的结果:

  1. 对于动画:我得到这个丑陋的中间过渡黑屏:

淡入.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" />

淡出.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()
  1. 对于过渡:我做不到,所以 WelcomeActivity 正确关闭:它要么在动画开始之前关闭,要么根本不关闭。我正在关注 android docs ..我也试过这个:

样式.xml

    <item name="android:windowActivityTransitions">true</item>
<item name="android:windowEnterTransition">@transition/enter_fade</item>
<item name="android:windowExitTransition">@transition/exit_fade</item>

我的其他问题是我应该采用哪种方法? Google 是否在插入开始新 Activity 的动画过渡?

最佳答案

我总是做的是开始一个 Activity (任何你想要的方式,方式是listed here)。
我使用这两个文件使用幻灯片切换:

slide_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>

slide_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>

然后我开始这样的 Activity (这是 ):

startActivity(MainActivity.this, SecondActivity.class);
overridePendingTransition(R.anim.slide_in_right.xml, R.anim.slide_in_left.xml);
finish();

使用它, Activity 退出让位于从右到左的新 Activity 。
对于黑屏,在 AndroidManifest.xml 文件中将该 Activity 的主题设置为半透明

android:theme="@android:style/Theme.Translucent"

所以你的代码会是这样的

<activity android:name=".Activity"
android:theme="@android:style/Theme.Translucent" />

黑屏的答案取自:https://stackoverflow.com/a/6468734/9819031

关于android - Activity 过渡黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54971082/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com