如何将片段滑出屏幕的一半?

时间:2016-07-17 14:21:56

标签: android android-layout android-fragments slide

使用按钮单击将片段从底部滑出到屏幕的一半。

slide out example

2 个答案:

答案 0 :(得分:0)

对您的活动布局使用类似的内容:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <Button
            android:layout_gravity="center"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:onClick="openFragment"/>
    </FrameLayout>

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>
</FrameLayout>

然后在你的活动中:

public void openFragment(View v) {
    Fragment fragment = new YourFragment();
    fragment.setEnterTransition(android.R.transition.slide_bottom);
    getSupportFragmentManager().beginTransaction()
        .add(R.id.container, fragment)
        .commit();
}

注意:

仅适用于Api&gt; = 21.

如果您不想支持旧版本,则必须使用FragmentTransaction.setCustomAnimations()

答案 1 :(得分:0)

您可以使用课程ObjectAnimator为视图创建动画。使用具有属性ofFloat的方法translationY,您可以达到所需的效果。您需要API&gt; = 11。