android 放大镜 Magnifier 简单实现
来源:互联网 发布:电脑淘宝卖家中心 编辑:程序博客网 时间:2024/05/21 05:21
public class MainActivity extends Activity implements OnTouchListener { private int x;//绘画开始的横坐标 private int y;//绘画开始的纵坐标 private int width = 180;//绘画的宽度 private int height = 40;//绘画的高度 private Bitmap bitmap;//生成的位图 // private MyView myView;//绘画选择区域 private ImageView image1; private ImageView image2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); image1 = (ImageView) findViewById(R.id.image1); image2 = (ImageView) findViewById(R.id.image2); image1.setOnTouchListener(this); } @Override public boolean onTouch(View v, MotionEvent event) { try { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { x = (int) event.getX(); y = (int) event.getY(); moveViewWithFinger(image2,x,y); image2.setVisibility(View.VISIBLE); image2.setImageBitmap(getBitmap(this)); break; } case MotionEvent.ACTION_MOVE: { x = (int) event.getX(); y = (int) event.getY(); image2.setImageBitmap(getBitmap(this)); moveViewWithFinger(image2,x,y); break; } case MotionEvent.ACTION_UP: { image2.setImageBitmap(null); image2.setVisibility(View.GONE); break; } default: { image2.setImageBitmap(null); image2.setVisibility(View.GONE); break; } } }catch (Exception e){ e.getStackTrace(); } return true; } private void moveViewWithFinger(View view, float rawX, float rawY) { RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view .getLayoutParams(); params.leftMargin = (int) rawX-250; params.topMargin = (int) rawY - 250; view.setLayoutParams(params); } private Bitmap getBitmap(Activity activity) { View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); bitmap = view.getDrawingCache(); bitmap = Bitmap.createBitmap(bitmap, x, y, width, height); view.setDrawingCacheEnabled(false); return bitmap; }}
/// main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/image1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/test" /> <ImageView android:id="@+id/image2" android:layout_width="180dp" android:layout_height="45dp" android:visibility="gone" /></RelativeLayout>源码 : http://download.csdn.net/detail/icesoul1127/9638232
0 0
- android 放大镜 Magnifier 简单实现
- JavaScript放大镜插件magnifier实现图像放大效果
- android 放大镜的简单实现
- Magnifier with ArcGISDynamicMapServiceLayer 放大镜 动态图层
- Android放大镜的实现
- Android放大镜的实现
- Android放大镜的实现
- Android放大镜的实现
- Android放大镜的实现
- android放大镜效果实现
- Android 放大镜的实现
- Android 放大镜效果实现
- android中的放大镜的实现
- Android 放大镜效果实现原理
- Android 实现放大镜功能源码
- javascript放大镜效果的简单实现
- 简单的js实现放大镜效果
- Android放大镜实现的两种方式
- 话一:Wince开发之软硬件需求
- SDLockView:基于贝塞尔曲线的手势解锁
- jQuery插件开发精品教程
- django1.10的很多操作跟现在出版的书里的命令都不一样了
- 寄存器用法惯例
- android 放大镜 Magnifier 简单实现
- php中文件上传$_FILES 的错误代码
- android 索引的实现
- HTTP 的 幂等性
- 设计模式_1_简单工厂模式
- nginx配置:(一)基本配置与参数说明(转载)
- push/pop堆栈指令
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
- Java模拟银行转账(操作事务)