am 1d8ad0dd: Merge "Fix 3099036: Drag visualization appears in wrong spot" into honeycomb

* commit '1d8ad0dd3b295b35e7fc9944eb298150b4fa4a99':
  Fix 3099036: Drag visualization appears in wrong spot
This commit is contained in:
Patrick Dubroy
2011-01-18 07:32:57 -08:00
committed by Android Git Automerger
2 changed files with 15 additions and 0 deletions
+8
View File
@@ -123,6 +123,14 @@ public class DragView extends View {
// The point in our scaled bitmap that the touch events are located
mRegistrationX = registrationX;
mRegistrationY = registrationY;
// Force a measure, because Workspace uses getMeasuredHeight() before the layout pass
int ms = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
measure(ms, ms);
}
public float getOffsetY() {
return mOffsetY;
}
public void setDragRegion(int left, int top, int width, int height) {
+7
View File
@@ -2259,6 +2259,13 @@ public class Workspace extends SmoothPagedView
dragView.getDragRegionHeight());
}
}
} else if (source == this) {
// When dragging from the workspace, the drag view is slightly bigger than
// the original view, and offset vertically. Adjust to account for this.
final View origView = mDragInfo.cell;
originX += (dragView.getMeasuredWidth() - origView.getWidth()) / 2;
originY += (dragView.getMeasuredHeight() - origView.getHeight()) / 2
+ dragView.getOffsetY();
}
if (mDragTargetLayout != null) {