1
我在我的應用程序中使用拖放功能。它工作正常。如果視圖回到原始位置(如果視圖未放置在放置視圖上),現在我面臨的問題是動畫視圖。在View.OnDragListener上獲取拖動的陰影位置
我已經
View.DragShadowBuilder shadowBuilder = new MyDragShadowBuilder(view);
view.startDrag(data, shadowBuilder, view, 0);
創造了我的影子,查看和我shadowbuilder類,
private static class MyDragShadowBuilder extends View.DragShadowBuilder {
private static Drawable shadow;
public MyDragShadowBuilder(View v) {
// Stores the View parameter passed to myDragShadowBuilder.
super(v);
v.buildDrawingCache();
shadow = new BitmapDrawable(v.getDrawingCache());
}
@Override
public void onProvideShadowMetrics (Point size, Point touch){
// Defines local variables
int width, height;
width = (int)(getView().getWidth() * 1.1);
height =(int)(getView().getHeight() * 1.1);
shadow.setBounds(0, 0, width, 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);
}
}
現在,當我發現不成功的下降,那麼我希望我的觀點得到動畫並返回到它的原始位置。
case DragEvent.ACTION_DRAG_ENDED:
if (!event.getResult()) {
if (dragged.getTag() == v.getTag()){
int[] location={0,0};
v.getLocationOnScreen(location);
Log.v("values::", "x:" + x + " - y:" +x);
addViewRemoveViewFromWindow(dragged, location);
}
}
break;
我能夠在location
數組中得到我的視圖的原始位置,即我的結束位置。我想要我在屏幕上拖動視圖(陰影視圖)的位置。但是我無法在任何情況下得到它。試圖在DragEvent.ACTION_DRAG_LOCATION:
的情況下得到它,但沒有運氣。它總是返回原始視圖的位置或放下的視圖位置的位置。我想拖動陰影圖像的位置。我想在兩個位置之間的窗口中應用翻譯動畫。在兩個位置之間的窗口中的動畫視圖工作正常,當我嘗試通過使用2個靜態位置。
謝謝。我會試試.. – Beena