Java 在放下它的时候得到DragShadow坐标?
我想在布局中移动视图,并使用API级别11(startDrag,overwrite view.DragShadowBuilder as shadowView)实现这一点,但我遇到了一个问题,在放置视图时无法获得实际坐标 我尝试使用Java 在放下它的时候得到DragShadow坐标?,java,android,Java,Android,我想在布局中移动视图,并使用API级别11(startDrag,overwrite view.DragShadowBuilder as shadowView)实现这一点,但我遇到了一个问题,在放置视图时无法获得实际坐标 我尝试使用getView.getX(),但在删除视图时,该值为零,因此无效 当时间下降视图时,如何获取坐标 public SimeDragShadowView(View view, Context context) { super(view); s
getView.getX()
,但在删除视图时,该值为零,因此无效
当时间下降视图时,如何获取坐标
public SimeDragShadowView(View view, Context context) {
super(view);
shadow = new ColorDrawable(Color.BLUE);
mDragShadowView = getView();
mInitX = (int) view.getX();
mInitY = SimeTabContainer.mDownViewInitY;
if(DEBUG){
Log.d(TAG, " shadow button width is .."+getView().getWidth() +"... height is .."+getView().getHeight());
}
}
@Override
public void onProvideShadowMetrics(Point size, Point touch) {
// Defines local variables
if(DEBUG){
Log.d(TAG, " onProvideShadowMetrics()");
}
int width, height;
width = getView().getWidth();
height = getView().getHeight();
shadow.setBounds(mInitX-10, mInitY-10, mInitX + width, mInitY + height);
size.set(width, height);
touch.set(width / 2, height / 2);
}
@Override
public void onDrawShadow(Canvas canvas) {
// Draws the ColorDrawable in the Canvas passed in from the system.
shadow.draw(canvas);
getView().draw(canvas);
if(DEBUG){
Log.d(TAG, " getView()... x cor is .."+getView().getX());
}
}
这个问题已经解决了,我使用的方法是,侦听事件操作值2,并计算已接收到dragView的事件,根据原始位置和计数MoveOffset数,我可以检查放置视图的位置