-1
レイアウト内のビューを移動し、APIレベル11(startDrag、shadowViewとしてView.DragShadowBuilderを上書き)で実装したいが、ドロップビューのときに実際の座標を取得できないという問題がある。ドロップ時にドラッグシャドー座標を取得しますか?
私は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());
}
}