1

我需要创建一个自定义的toggle-silder小部件,例如在iphone中,诸如开关项目等...对于我选择从LinearLayout继承的任务,将其定义为Vertical并获取一些xml属性,例如drawables用于按钮(一个用于打开,一个用于关闭),我只需放置两个视图,其中可绘制对象作为它们的背景。现在我面临的问题是:

  1. 我可以捕获 onKeyDown 和 onTouchEvent 以发现滑动和左右触发事件,因此我将切换按钮的状态,但我想知道是否在 android 系统 onSwipe 中读取了滑动事件,或者我应该尝试弄乱 GestureDetector ?
  2. 我希望滑动动画,我不知道该怎么做,有什么想法从哪里开始寻找?
4

1 回答 1

0

好的,如果我们看看这个页面:http: //developer.android.com/guide/topics/graphics/view-animation.html

我们可以看到我们有简单的方法来创建动画,一旦发现 onClick 或 onTouchStart (如果尚未处理),启动从 xml 预加载的动画并禁用 View 上的触摸直到动画结束(你可以添加动画侦听器到动画目的)。您应该确保 fillAfter 为 true,以便动画结束后值会保持不变。

唯一的问题是它不允许像在 iphone 中那样拖动,可能的解决方案是允许拖动到某个 delta,如果传递了该 delta,则忽略任何 onTouchMove 事件,禁用触摸并启动动画。

当然,应该根据按钮的状态更新增量和动画。我可能会很快发布代码。

于 2012-10-10T08:09:13.767 回答