将活动仅滑动到某个点(Android Studio)

时间:2018-03-29 02:32:56

标签: android android-activity

我有一个非常真实的问题......我想点击一个按钮,让活动向上滑动,但只有一半。然后,如果我再次按下按钮,活动会向下滑动。它不一定是一项活动,但它应该像小吃店一样向上滑动并获得有关活动的信息。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据您的问题,您只需要有关该活动的信息,请尝试使用Dialog并以上半部分为透明颜色并且下半部分具有您的信息或视图的方式设计视图需求。然后只需在任意位置打开Dialog

当对话框打开时,您需要提供动画

这是动画文件:将动画文件放在资源<{p>中的anim文件夹中

动画文件向上滑动

<?xml version="1.0" encoding="utf-8"?>

<translate
    android:duration="500"
    android:fromYDelta="100%"
    android:toYDelta="0%" />

向下滑动动画文件:

<?xml version="1.0" encoding="utf-8"?>

<translate
    android:duration="500"
    android:fromYDelta="100%"
    android:toYDelta="0%" />

之后,在样式文件

中添加以下样式
 <style name="Dialog" parent="@android:style/Theme.Light.NoTitleBar">
        <item name="windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowAnimationStyle">@style/DialogAnimation</item>

    </style>

    <style name="DialogAnimation">
        <item name="android:windowEnterAnimation">@anim/slide_up</item>
        <item name="android:windowExitAnimation">@anim/slide_down</item>
    </style> 

之后,按以下方式添加Dialog

final Dialog dialog = new Dialog(this, R.style.Dialog);

        final View layout = LayoutInflater.from(this).inflate(R.layout.your_view, null);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        if (dialog.getWindow() != null) {
            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(getResources().
                    getColor(R.color.transparentDark)));
        }
        dialog.setContentView(layout);
        dialog.setCancelable(false);
        dialog.show();

现在您需要在任何地方打开对话框。