- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我为 android 实现了一个 BottomNavigation View ,我有一些 fragment 显示为 BottomNavigation 页面。根据Google Material Design Guide Lines我想显示带有淡入淡出动画的 fragment 。
通过触摸 BottomNavigation 的项目,我的 ViewpPager 会使用默认的幻灯片动画更改 fragment 。
我在 this 中阅读了一些解决方案和 this .但这些并不是真正的淡入淡出动画,我无法设置淡出持续时间。
那么有什么方法可以在更改 ViewPager 的选项卡时设置动画吗?
最佳答案
终于,我找到了答案。
我用布局更改了 ViewPager 以保留我的 fragment (框架布局)。然后我将 fragment 添加到 fragment 事务中。
通过触摸 BottomNavigation 上的项目,当前 fragment 会隐藏,新 fragment 会显示在 fragmentTransaction 中定义的淡入淡出动画。
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_page);
addFragmentsToManager();
}
private void addFragmentsToManager() {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
fragmentTransaction.add(R.id.flContent, tripFragment, tripFragment.getClass().getSimpleName());
fragmentTransaction.add(R.id.flContent, notificationFragment, notificationFragment.getClass().getSimpleName());
fragmentTransaction.add(R.id.flContent, searchFragment, searchFragment.getClass().getSimpleName());
fragmentTransaction.add(R.id.flContent, profileFragment, profileFragment.getClass().getSimpleName());
fragmentTransaction.hide(tripFragment);
fragmentTransaction.hide(notificationFragment);
fragmentTransaction.hide(searchFragment);
fragmentTransaction.hide(profileFragment);
fragmentTransaction.commit();
}
private void changeTab(int position) {
Fragment fragment;
switch (position) {
fragment = .....// get framgnet from position
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
fragmentTransaction.hide(prvFragment);
fragmentTransaction.show(fragment).commit();
prvFragment = fragment;
}
关于Android ViewPager CrossFade 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39883620/
我正在尝试让它交叉淡入淡出,但我不完全确定如何做。 我怎样才能让这个 jQuery 方法交叉淡入淡出图像? $('a.thumb').click(function () { var src =
我有一个值数组 - 每个值代表将要控制的照明 channel (0-255) 的强度。每个数组都包含一个“场景”。 我想在“场景”之间进行淡入淡出,但无法找到一种优雅的方法来实现。 在 Javascr
我对幻灯片有疑问。有什么方法可以让我看到图像淡入淡出.. Here是一把 fiddle 。 function cycleImages(){ var $active = $('#cycler
我正在努力让我的淡入/淡出比现在更平滑 > JSFIDDLE 目前它在淡入淡出图像时非常锐利(因为它似乎在第二张图像开始之前先淡出第一张图像)。 JS: $(document).ready(funct
我正在尝试实现一个“淡入”脚本,该脚本会影响两个图像: $(document).ready(function(){ $('img').mouseover( function()
我有 4 张图像,我想在容器内使用 CSS 交叉淡入淡出: 我知道淡入淡出图像由 CSS 动画组成,但我一直没能找到让它工作的 CSS。任何帮助将不胜感激,
我为 android 实现了一个 BottomNavigation View ,我有一些 fragment 显示为 BottomNavigation 页面。根据Google Material Desi
我正在尝试实现与 JS setinterval/settimeout 类似的效果,但使用的是 CSS3。到目前为止,我已经达到了预期的效果,但仅限于 :hover。我怎样才能让动画每 3-4 秒运行一
我在使用 xfade 和 crossfade 时遇到问题。 我有两个视频 t1.mp4 和 t2.mp4 具有相同的 fps、分辨率等。两个视频都是 15 秒长。 现在我想要在两者之间进行一秒钟的淡入
我正在尝试制作基本的应用程序,将一张图像交叉淡入淡出到另一张图像,然后再返回。然而,当我点击第一张图片时,该应用程序一直崩溃。 crossfade 方法 fade 独立运行。自从我添加了第二种方法将图
我在使用 xfade 和 crossfade 将 12 个视频连接在一起并保留音频时遇到问题。当我忽略音频流并仅应用 xfade 过滤器时,视频编码就好了。否则,过渡会挂起,并且音频会提前开始。 这是
我需要从一组 View 交叉淡入淡出到另一组 View 。这些观点背后有时有一个背景。如果我使用 animateWithDuration: v1.alpha = 1.0, v2.alpha = 0.0
当我尝试显示来自 Gmail 帐户的图像时,我在 Glide 中遇到 cannot resolve symbol method crossFade() 错误。 private void handleS
为什么this code无法在 IE6+7 中工作?(我的代码) 我检查了 ie 6+7 - 在检查代码在 Firefox + ie8 中工作后不起作用。 这个简单的 jquery light 插件,
我正在使用 .NET Compact Framework 3.5,我想交叉淡入淡出两条音乐轨道。 它们交叉淡入淡出的时间未知,想法是一个循环,然后某些东西会触发交叉淡入淡出。 我知道 SoundPla
我有一个使用 Glide 3.5.2 的旧项目。下面的工作正常。 Glide.with(context) .load(url) .overrid
您好,我正在使用以下 CSS 进行交叉淡入淡出幻灯片放映,但问题是它在 Iternet Explorer 版本 7/8 中不起作用,可能有什么建议让它在那里工作?我试用了 Jquery 幻灯片放映脚本
我正在使用 ImageFilterView,配合 MotionScene,在用户滑动时在图像之间切换(我还将图像向上移动)。 新图像确实出现,但旧图像仍然存在。我可以在原始图像之上看到 altSrc
我是一名优秀的程序员,十分优秀!