正如我的问题中所描述的,我希望当我向上滑动时能够滑上一小块碎片。它基本上应该像AndroidStudio提供的导航抽屉一样工作。问题是导航抽屉可以在片段中从左或右滑动,但不能从底部滑动。因为没有类似"onSwipeUp“事件的东西,所以我不知道如何创建一个变通方法。那么,从底部向上滑动片段是可能的吗?如果是的话,如何进行?
发布于 2015-07-10 18:26:47
更改您的片段事务,如下所示:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in_bottom, R.anim.slide_out_top);
fragmentTransaction.replace(R.id.container, fragment);
fragmentTransaction.commit();此slide_in_bottom.xml将设置fragment的入口动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromYDelta="100%"
android:toYDelta="0%" >
</translate>
</set>这个slide_out_top.xml将设置你的fragment的退出动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="700"
android:fromYDelta="0%"
android:toYDelta="-100%" >
</translate>
</set>我希望这能对你有所帮助。
发布于 2015-07-10 19:59:01
你应该看看这个库,https://github.com/gokhanakkurt/android-menudrawer。它提供了一个显示"onSwipeUp“的底部抽屉。我不知道你是打算把它当作一个简单的底部抽屉,还是想进一步编辑它。
发布于 2020-06-13 07:57:40
输出

如何从底部滑入片段
currentFragment = DogDetailFragment.getInstance();//<-Your Fragment
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.slide_in_bottom, R.anim.slide_out_top, R.anim.slide_in_top, R.anim.slide_out_bottom)
.replace(R.id.fragmentHolder, currentFragment, "DOGDETAIL")
.addToBackStack("DOGDETAIL")
.commit();如何反转按back按钮时的动画?
getSupportFragmentManager().popBackStack();R.anim.slide_in_bottom
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="500"
android:fromYDelta="100%"
android:toYDelta="0%">
</translate>
</set>R.anim.slide_out_top
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="500"
android:fromYDelta="0%"
android:toYDelta="-100%">
</translate>
</set>R.anim.slide_in_top
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="500"
android:fromYDelta="-100%"
android:toYDelta="-0%">
</translate>
</set>R.anim.slide_out_bottom
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="500"
android:fromYDelta="0%"
android:toYDelta="100%">
</translate>
</set>演示项目
https://stackoverflow.com/questions/31338267
复制相似问题