如何锁定UI?

时间:2012-03-30 15:12:41

标签: android user-interface locking

我正在寻找一种锁定用户界面的方法,例如当我从选项菜单中选择“锁定”时,UI将被触摸阻止。它有点在UI上添加带有某种锁图标的叠加层。 你们有什么建议吗?谢谢!

2 个答案:

答案 0 :(得分:4)

要使活动的整个窗口不可触及,请调用:

this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

再次触摸,请致电

this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

虽然这可能会导致ANR ...如果你可以绕过那个,那么这是最简单的方法,否则bitbox所说的可能是最合适的解决方案

答案 1 :(得分:1)

您是否需要在多个活动或仅一个活动上执行此操作? 如果它只是一个,则将透明的ViewGroup(MatchParent,Parent)添加到视图层次结构的顶部。默认情况下让它消失。 然后在OnCreate()中添加一个始终返回true的OnTouchListener(意味着它考虑了触摸); 然后当你需要它时,只需使它“可见”。

说明:将其添加到顶部将使其成为视图层次结构中最顶层的“图层”。因此,首先接收触摸事件,然后通过向侦听器的调用者返回true来否决。