如何在幻灯片中创建幻灯片 对话框和活动顶部会弹出



我想实现一个弹出窗口,该弹出窗口应该在活动顶部和可能位于该活动顶部的任何对话框顶部滑动显示。此外,当弹出窗口在屏幕上时,后台的活动和对话框仍应是交互式的(即它们应该对触摸做出反应,并且所有按钮等仍应正常工作)。x 时间后,弹出窗口应滑出屏幕。

我想出了以下想法,但它们都有某种缺点:

1.定制吐司虽然吐司总是出现在活动和对话框的顶部,但我认为它不能滑入和滑出。

2. 自定义对话框对话框也会出现在活动和对话框之上,但这里的问题是,当我的自定义对话框在屏幕上时,活动和所有以前打开的对话框将不再具有交互性(即它们不会触摸)。

3. 活动中的图像视图这种方法的问题很明显:它总是出现在对话框后面。

任何帮助将不胜感激。谢谢!

以下是您的选择:

1)与吐司一起牺牲你的动画输入/输出

2)使用对话框并牺牲触摸事件

3)这是不可行的

我什至想不出您将如何使用自定义视图来做到这一点,它太复杂了,并且在Google UX设计中不推荐。

也许是为了获得解决问题的另一种解决方案的灵感,请尝试以下操作:http://developer.android.com/design/index.html

要问的真正问题是,为什么需要此工具提示?你想实现什么? 有了这些答案,您就可以寻找更多*Android-esq的解决方案

你真的需要一个视图子类,而不是一个对话框。 使用 addView() 添加视图,使用 removeView() 将其删除。

通过布局/样式,您可以使其看起来像一个对话框。

您可以使用视图动画来实现滑入/滑出效果。

Animation slideIn = new TranslateAnimation (windowWidth, 0, 0, 0);
slideIn.setDuration (400);
slideIn.setInterpolator(new LinearInterpolator());
dialogView.startAnimation(slideIn);
Animation slideOut = new TranslateAnimation (0, windowWidth, 0, 0);
slideOut.setDuration (400);
slideOut.setInterpolator(new LinearInterpolator());
dialogView.startAnimation(slideOut);

并使用 AnimationListener() onAnimationEnd() 在滑出后删除视图。

您需要调整平移动画的 x/y 参数以实现所需的效果,假设您希望对话框以 x 和 y 轴为中心......

最新更新