【问题标题】:Custom view like lock/unlock screen of android自定义视图,如 android 的锁定/解锁屏幕
【发布时间】:2013-09-11 04:05:09
【问题描述】:

我想创建像安卓的锁定/解锁屏幕的效果。我在这里也附上了截图。在锁定屏幕中,我们有 2 个按钮,但在我的情况下,我有 3 个按钮,并且中间按钮必须是可拖动的。

中间按钮可以左右拖动。

我知道我必须创建自定义视图才能使其正常工作,但我不知道如何以通常任何 Android 手机都有的良好效果(动画)向左/向右拖动按钮。

我需要这方面的指导,所以任何人都可以建议我如何解决这个问题。

基本上我希望左右移动/滑动按钮,并基于此想要采取一些行动。

【问题讨论】:

  • 你能分享一下你是怎么做的代码吗?

标签: android user-interface android-view android-custom-view


【解决方案1】:

我自己尝试过制作一个锁屏应用程序,我几乎成功了,但这是你最终必须面对的事实

  1. 您将无法禁用主页或菜单按钮。
  2. 您将需要用户权限(不是您在安装应用程序时获得的权限,每次按下主屏幕按钮时都会弹出菜单,除非用户决定将您的应用程序设为默认主屏幕,如果确实发生了您已成功创建锁屏),如果您决定也制作一个主屏幕应用程序。
  3. 锁屏不能很好地使用密码

但如果它有帮助,这就是我所做的:

您需要创建一个服务来检查屏幕的关闭和开启。

如果屏幕关闭,您什么也不做。当屏幕打开时,您开始活动并等待用户做您希望用户让他解锁屏幕的事情。当他这样做时,你完成()活动。

在执行此操作时,您需要设置一个可以侦听来检查来电的方法,您可以通过扩展 PhoneStateListener 并禁用后退按钮来做到这一点。

祝你好运,如果你能取得进一步的进展,请告诉我。

【讨论】:

  • 我已经做到了。我无法将图像从左到右或从右到左移动..任何想法我该怎么做?
  • 移动图像是活动的一部分。我能想到两种可能的解决方案,一种是使用搜索栏(您可以更改图像的拇指),另一种是在图像上设置 ontouchlistener,在 ontouch 方法中使用 MotionEvent.ACTION_DOWN 并使用 runonuithread 更改坐标图像的坐标到触摸的坐标。
  • @contactmeandroid 你能上传你项目的代码吗?因为我不知道你是如何解决密码问题的。并禁用主页按钮。
  • 我使用了搜索栏。但问题是我不能阻止用户点击progressDrawble,我也不能改变背景的高度
【解决方案2】:

也许这个项目可以帮助你GlowPadView。我已经在一个项目中成功使用了它。希望它是您正在寻找的。​​p>

【讨论】:

  • @contactmeandroid,你能分享你的代码,这样我就可以知道你做了什么,然后我可以建议你如何向右或向左滑动它..
  • @Scorpion - 目前我在屏幕两侧只有两个 ImageView,我正在使用 onTouchListner 水平拖动它。但我不确定如何在拖动图像时获得背景。这是我在下一条评论中的代码
  • @Scorpion left_Locker.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { int eid = event.getAction(); switch (eid) { case MotionEvent.ACTION_MOVE: RelativeLayout .LayoutParams mParams = (RelativeLayout.LayoutParams) left_Locker.getLayoutParams(); int x = (int) event.getRawX(); mParams.leftMargin = x - 50; left_Locker.setLayoutParams(mParams); break; 默认值:break; } return真的; } });
  • @Scorpion 我一个星期以来都在努力做到这一点。希望你能帮助我谢谢
猜你喜欢
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多