放大镜像弹出窗口里面的功能....怎么样?

时间:2011-05-26 14:29:00

标签: android android-layout android-widget android-ui android-gui

我需要在我的应用中创建一个类似放大镜的功能。喜欢iphone上的“放大镜”效果! 问题是我需要在弹出窗口中执行此操作,但我不知道如何使其工作!

弹出窗口显示我生成的颜色网格,并使用shapeDrawables逐个绘制。我想要的是显示更大的颜色,当用户触摸时放大它并在弹出窗口(彩色网格)周围移动他的手指。我们的想法是在颜色上创建跟踪缩放效果,以便用户可以在手指当前所处的颜色下更清晰地看到。

问题是:

  • 我似乎无法在这个上面创建另一个弹出窗口,我认为是Android限制吗?
  • 如果我修改当前的shapeDrawable,调整大小,更改边界,需要在弹出窗口生效之前重新显示(当然这是不可接受的)

那么,有谁知道我可以通过弹出窗口绘制的方式?

编辑:

我尝试使用自定义Toast对象来解决这个问题......但它并没有完全解决这个问题。它可以工作,但是吐司对象看起来很慢,所以触摸动作与用户在彩色网格上的移动完全不同步。

1 个答案:

答案 0 :(得分:0)

我不确定这是否会对您有所帮助,但您可以通过使用第二个Activity来完成此操作...如果您在清单中包含以下属性,则第二个Activity将使用Android的半透明主题:
< activity android:theme =“@ android:style / Theme.Translucent”>
第二个活动现在只包含您在布局中放置的内容。那就是......你正在运行的“真实”活动仍然可以在它后面看到(任何你不用新布局中的视图覆盖它的地方)。

如果你真的想要像弹出窗口,你也可能更喜欢Theme.Dialog。

如果采用这种方法,请注意的是你可能想要在新活动中覆盖onWindowFocusChanged(),并在你失去焦点时完成()。此外,您还需要弄清楚如何在两个活动之间共享数据。

相关问题