你应该如何实现蜂窝Gmail客户端使用的那种滑动功能?

TransactionManager可以通过添加和删除片段来自动处理这一点,由于仿真器是一个幻灯片放映,所以测试有点困难:)

推荐答案

要为片段之间的过渡设置动画,或为显示或隐藏片段的过程设置动画,请使用Fragment Manager创建Fragment Transaction.

在每个片段事务中,您可以指定将分别用于显示和隐藏(或在使用替换时同时用于显示和隐藏)的输入和输出动画.

下面的代码显示了如何通过滑出一个片段并将另一个片段滑入原处来替换片段.

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);

DetailsFragment newFragment = DetailsFragment.newInstance();

ft.replace(R.id.details_fragment_container, newFragment, "detailFragment");

// Start the animated transition.
ft.commit();

要实现隐藏或显示片段的相同功能,只需调用ft.showft.hide,分别传递希望显示或隐藏的片段.

作为参考,XML动画定义将使用objectAnimator标记.左侧幻灯片_的示例可能如下所示:

<?xml version="1.0" encoding="utf-8"?>
<set>
  <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:propertyName="x" 
    android:valueType="floatType"
    android:valueFrom="-1280"
    android:valueTo="0" 
    android:duration="500"/>
</set>

Android相关问答推荐

Android可组合继承?

无法安装后重新编译android代码'

无法将项目添加到文件室数据库

穿戴与iPhone连接的安卓操作系统

如何从URI中获取图像大小

如何在Jetpack Compose中创建这个圆形?

无法插入 LayoutNode@cc72396 子级,因为它已有父级

任务 ':app:kaptGenerateStubsDebugKotlin' 执行失败

如何从包装在泛型中的 retrofit 调用中检索密钥?

在 jetpack compose 中交替使用 View.INVISIBLE

Android Studio:按下前缀键:切换 Logcat 格式

Android工作室未成立

在 Jetpack Compose 中单击时更改表面项目的背景 colored颜色

Jetpack Compose - 每次点击按钮都不起作用

在 Kotlin 中打开新片段时如何对当前片段应用更改?

新的内部测试应用程序版本不适用于测试人员,即使它说它们是

我的 react native 项目的发布签名 apk 没有在设备中打开,而且它创建的尺寸非常小

Android Material Date Range Picker - 如何仅更改所选范围日期的文本 colored颜色 ?

未使用的内容填充参数

如何优化 JetPack Compose 列表性能?