【发布时间】:2015-12-04 18:31:23
【问题描述】:
我目前正在尝试弄清楚如何制作自定义展开动画,并且使用 ActivityOptionsCompat 似乎是最好的方法;但是,我不太确定如何编写自定义过渡动画来实现我想要的效果。
我在“打开”列表顶部有一个按钮,按下该按钮时会将其下方的 ListView 向下移动,展开并显示带有选项的屏幕。我希望这张图片能解释我想要完成的工作。
我想做的是:
- 将顶部“打开”栏设置为第二个屏幕“标题”中的顶部栏 称为“过滤器”
- 将“打开”栏正下方的 0px 高度视图设置为 名为“FRAME”的扩展选项列表
- 将 ViewPager 设置为展开选项下方 0 像素高度的视图 称为“列表”
但列表并没有被推开,新屏幕只是覆盖在它上面。
ViewCompat.setTransitionName( filters, "FILTERS" );
ViewCompat.setTransitionName( frame, "FRAME" );
ViewCompat.setTransitionName( viewPager, "LIST" );
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(
getActivity(), new Pair<>( filters, "FILTERS" ), new Pair<>( frame, "FRAME" ), new Pair<>( (View)viewPager, "LIST" ) );
ActivityCompat.startActivity( getActivity(), new Intent( getActivity(), Filters.class ),
options.toBundle() );
有谁知道如何完成这种风格的过渡动画?
感谢您的时间和帮助。
【问题讨论】:
-
您在测试什么 API 级别?它仅适用于 API 21 或更高版本。
-
我正在尝试定位 15 岁以上。
标签: android animation android-appcompat