" + mDrawableRect.centerY());
?}
?public void checkBounds() {
? int newLeft = mDrawableRect.left;
? int newTop = mDrawableRect.top;
? boolean isChange = false;
? if (newLeft < -mDrawableRect.width()) {
? ?newLeft = -mDrawableRect.width();
? ?isChange = true;
? }
? if (newTop < -mDrawableRect.height()) {
? ?newTop = -mDrawableRect.height();
? ?isChange = true;
? }
? if (newLeft > getWidth()) {
? ?newLeft = getWidth();
? ?isChange = true;
? }
? if (newTop > getHeight()) {
? ?newTop = getHeight();
? ?isChange = true;
? }
? if (isChange) {
? ?mDrawableRect.offsetTo(newLeft, newTop);
? ?invalidate();
? }
?}
?public Drawable getmDrawable() {
? return mDrawable;
?}
?public void setmDrawable(Drawable mDrawable) {
? this.mDrawable = mDrawable;
?}
?public int dip2px(Context context, int value) {
? final float scale = context.getResources().getDisplayMetrics().density;
? return (int) (value * scale + 0.5f);
?}
}
在界面中使用
public class MainActivity extends Activity {
?Context mContext;
?@Override
?protected void onCreate(Bundle savedInstanceState) {
? // TODO Auto-generated method stub
? super.onCreate(savedInstanceState);
? this.mContext = getApplicationContext();
? requestWindowFeature(Window.FEATURE_NO_TITLE);
? DragImageView mView = new DragImageView(mContext);
? mView.setmDrawable(mContext.getResources().getDrawable(R.drawable.bbb));
? setContentView(mView);
?
?}
}
效果
