java - setEnterTransition 只显示 Fade
问题描述
我编写了一个包含多个活动的应用程序。
我想在(幻灯片)之间添加一个过渡。
我写了以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
getWindow().requestFeature( Window.FEATURE_ACTIVITY_TRANSITIONS );
getWindow().setEnterTransition( new Slide() );
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_profile );
....
然后当我单击一个按钮打开另一个我使用的活动时:
Intent intent = new Intent( DiscoverActivity.this, UploadActivity.class );
startActivity( intent, ActivityOptions.makeSceneTransitionAnimation( this ).toBundle() );
但是,无论我是否更改为Explore()
或Fade()
,Slide()
它似乎一直在向我显示 Fade。
难道我做错了什么?
谢谢
解决方案
您需要setEnterTransition
在 Activity 中设置您不是在当前打开的Activity
,这就是名称所暗示的过渡,它将在进入Activity
.
将以下代码移至 UploadActivity
. 您也可以通过默认传递 Gravity 来更改Gravity
.Slide
Gravity.BOTTOM
getWindow().requestFeature( Window.FEATURE_ACTIVITY_TRANSITIONS );
getWindow().setEnterTransition(new Slide(Gravity.END));
推荐阅读
- json - Powershell - JSON 格式到 PAC 文件的转换
- r - 使用 system() 时通过 R 捕获 pid 进程
- reactjs - Excel JS React - 在不打开任务窗格的情况下运行代码
- dynamics-crm - 通过 API 删除 Dynamics365 系统用户
- javascript - 在 Salesforce 中使用闪电组件覆盖按钮
- google-schemas - 活动预订电子邮件标记无法识别“操作”属性
- c++ - 在本地块中打印全局变量
- pact - Pact http 与 https 端点测试
- javascript - d3 在第一次运行时不附加圆圈
- javascript - 如何在JS中获取从indexA到indexB的字符串结尾(使用split())