android 放大镜 Magnifier 简单实现
生活随笔
收集整理的這篇文章主要介紹了
android 放大镜 Magnifier 简单实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
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;//繪畫選擇區(qū)域
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
總結(jié)
以上是生活随笔為你收集整理的android 放大镜 Magnifier 简单实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Practical.Vim(2012.
- 下一篇: 主谓宾从句