Android 图片拖拽、放大缩小的自定义控件(3)

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);
 
 }
}

效果

Android 图片拖拽、放大缩小的自定义控件

最简单的Ubuntu Touch & Android 双系统安装方式

在Nexus上实现Ubuntu和Android 4.4.2 双启动

Ubuntu 14.04 配置 Android SDK 开发环境

64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细)

Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法

Ubuntu 12.10 x64 安装 Android SDK

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6e66e80307b3de27fc7bba39c427f836.html