【发布时间】:2015-01-13 11:38:16
【问题描述】:
我有点想复制 Google 材料设计中的涟漪效应。现在,我注意到波纹总是从被触摸的位置开始。为此,我创建了一个drawable,它最初是不可见的,但一旦触摸视图就会变得可见。然后,包含drawable 的ImageView 将移动到被触摸的位置,然后波纹动画将开始。现在,在尝试执行此操作时,我偶然发现了一件事,即我无法弄清楚如何找出被触摸的位置。我在stackoverflow上遇到了几个问题,说可以使用以下代码找到触摸位置。
@Override
public boolean onTouch(View v, MotionEvent e) {
int X = (int)(e.getX());
int Y = (int)(e.getY());
return false;
}
我确实尝试在我的应用程序中实现此代码,但最终得到了NullPointerException。请告诉我如何找到被触摸的屏幕的确切位置并将视图移动到那里?
【问题讨论】:
-
@Robert Rowntree 我从你给我的链接中了解到,
onTouch在活动和视图中都有效,但onTouchEvent仅在视图中有效。这意味着它们都与 Views 兼容,那为什么我会得到NullPointerException?
标签: android android-layout android-animation