当前位置: 首页 > 知识库问答 >
问题:

活动过渡黑屏

冀弘厚
2023-03-14

我对此进行了研究,发现有2+种方法:使用overridependingtransition使用anim.xml文件,或者使用transition.xml文件的Transitions(来自android文档)...

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

  1. 对于动画:我得到了一个丑陋的中间过渡黑屏:
    <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" />
    <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" />
    startActivity(Intent(this, HomeActivity::class.java))
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
    finish()

style.xml

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

我的其他问题是我应该采用哪种方法?谷歌是否在启动新活动的动画上推动了过渡?

共有1个答案

壤驷心思
2023-03-14

我总是做的是启动一个活动(任何你想要的方式,方法都在这里列出)。
我使用以下两个文件来使用幻灯片转换:

<?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>
<?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" />
 类似资料:
  • 有没有一种方法可以让动作栏在活动过渡期间保持稳定?

  • 主要内容:过渡,实例,实例,实例,实例,JavaScript 钩子,HTML 代码:,JavaScript 代码:,实例,初始渲染的过渡本章节我们主要讨论 Vue.js 的过渡效果与动画效果。 过渡 Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 Vue 提供了内置的过渡封装组件,该组件用于包裹要实现过渡效果的组件。 语法格式 我们可以通过以下实例来理解 Vue 的过渡是如何实现的: 实例 <div id = "databinding"> <button v-on:c

  • 在 Vue 中即使是过渡也是数据驱动的!动态过渡最基本的例子是通过name特性来绑定动态值。 <transition v-bind:name="transitionName"> <!-- ... --> </transition> 当你想用 Vue 的过渡系统来定义的 CSS 过渡/动画 在不同过渡间切换会非常有用。 所有的过渡特性都是动态绑定。它不仅是简单的特性,通过事件的钩子函数方法,

  • 是不是可以结合和?我想实现以下更改效果: 一个视图保留在屏幕上 从旧活动滑出的其他视图 来自新活动的视图逐渐消失 我可以分别使用第1点和第2点,第3点,是否有一种方法可以同时使用它们,可能使用不同的方法或其他方法?

  • 每次搜索时,我都会遇到这种“android 5(L)”活动转换,仅在<code>API上可用 这很好,但我可以看到一些应用程序,如<code>QuickPic</code>和<code>google inbox</code>使用类似的转换,也在使用较低的api,那么这个应用程序如何做到这一点呢? 我做过什么? 1)大量搜索:) 2)使用仅适用于api的 编辑(标记为重复的问题):这与本例中的其他问

  • 问题内容: 因此,我了解了如何同时执行CSS3过渡和动画。我用谷歌搜索的不清楚是什么时候使用它。 例如,如果我想使球弹跳,很明显,动画是必经之路。我可以提供关键帧,而浏览器将做中间帧,并且我将获得一个不错的动画。 然而,在某些情况下,无论哪种方式都可以达到上述效果。一个简单而常见的示例是实现Facebook风格的滑动抽屉菜单: 可以通过以下过渡来实现此效果: 或者,通过类似这样的动画: 使用HTM