如何在弹出对话框时缩小z轴上的活动内容视图?

时间:2016-05-17 12:32:56

标签: android android-activity android-animation

假设我们是一个活动,它会弹出一个模态视图来选择一个类别。

当弹出模态视图时,活动的内容视图会随着图像的显示逐渐缩小。

这可能吗?

2 个答案:

答案 0 :(得分:0)

你可以使用Theme.Dialog进行活动,然后像这样开始

startActivity(intent);
overridePendingTransition(R.anim.scale_z, R.alpha);

使用谷歌搜索有关编写动画的信息。

其他方法只是获取活动的根视图并在对话框打开时进行缩放。

答案 1 :(得分:0)

我更喜欢将模态视图作为对话框,通过设置回调更容易获得所选项目。我真的不是onActivityResult的忠实粉丝。所以解决方案很简单:

  1. 创建一个DialogFragment并设置其'重力Gravity.Bottom并通过设置'来使其成为全屏宽度。 DialogFragment#onStart中的尺寸:
  2. 
        DisplayMetrics dm = new DisplayMetrics();
        getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
        getDialog().getWindow().setLayout(dm.widthPixels, (int) (dm.heightPixels * 0.7f));
        getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0xffffff));
    
    
    1. 在活动的内容视图中执行动画。但是有一个黑色背景,所以我们必须创建一个容器来设置黑色(#000000)背景,然后用酷动画缩放真实内容视图。
    2.     - layout
            - container(#000000)
              - real content view(to perform scale animation)