我开始在视图动画中使用属性动画,因为我有一个需要扩展的视图,并将其他视图放在一边.我已经看到了一些例子,但我只是想知道是否有任何地方提供了可以使用这些类改变的属性列表.例如,我看到一个教程使用以下方法进行快速轮换:
ObjectAnimator.ofFloat(aniView, "rotation", 360)
Run Code Online (Sandbox Code Playgroud)
这很酷,但如果没有那个确切的教程,我就不会知道旋转属性,有什么可以做的全面列表吗?我想要设置动画的特定属性是LinearLayout中视图的权重,如果有人对此有任何建议.
我正在使用 3.0 中引入的拖放 API - 但是,我只希望当用户手指位于屏幕的某一特定区域内时,拖动阴影能够跟随用户的手指。如果他们漂到外面,我希望阴影消失并且拖动事件结束。我已经做了一些搜索,发现 API 不支持在创建后更新拖动阴影,这是我的第一个计划,但是有没有办法在用户不实际抬起手指的情况下停止 DragEvent?
我的应用程序屏幕一侧有一个 ViewFlipper,其中包含一堆不同的视图,我希望用户能够通过向左滑动来关闭它。于是我就按照平常的做法...
private class SwipeDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//Dismiss view
}
@Override
public boolean onDown(MotionEvent e) {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
...然后设置ViewFlipper的onTouchListener来调用SwipeDetector中的onTouchEvent。这一切都工作得很好,但是我随后注意到,因为它消耗了进入 ViewFlipper 的所有触摸事件,所以当 ViewFlipper 本身时我无法单击任何内容。如果我不重写 onDown 或使其返回 false,则 TouchListener 会忽略事件的其余部分,并且我不会收到 fling。如果我什至可以处理用户触摸 ViewFlipper 后的所有 ACTION_MOVE 事件,但我什至无法做到这一点,我很乐意将某种自定义滑动检测组合在一起。有什么方法可以继续监听 MotionEvent 而不消耗 onDown 吗?