Andoid_ImageView图片的缩放
2015-07-14 14:56
232 查看
public class MainActivity extends Activity { private Button local, network; private ImageView iv; RelativeLayout lay; private float now; private float last = -1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { iv = (ImageView) findViewById(R.id.imageView); local = (Button) findViewById(R.id.local); network = (Button) findViewById(R.id.network); local.setOnClickListener(l); network.setOnClickListener(l); lay = (RelativeLayout) findViewById(R.id.lay); lay.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { case MotionEvent.ACTION_DOWN: Log.d("TAG", "down!!!"); break; case MotionEvent.ACTION_MOVE: Log.d("TAG", "move!!!"); // 判断按下手指个数 if (event.getPointerCount() >= 2) { float x = event.getX(0) - event.getX(1); float y = event.getY(0) - event.getY(1); now = (float) Math.sqrt(x * x + y * y); if (last < 0) { last = now; } else { if (now - last > 5) { Log.d("TAG", "放大!"); RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) iv .getLayoutParams(); lp.width = (int) (iv.getWidth() * 1.2); lp.height = (int) (iv.getHeight() * 1.2); iv.setLayoutParams(lp); last = now; } else if (last - now > 5) { Log.d("TAG", "缩小!"); RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) iv .getLayoutParams(); lp.width = (int) (iv.getWidth() * 0.8); lp.height = (int) (iv.getHeight() * 0.8); if (lp.width > 0.1) { iv.setLayoutParams(lp); } else { lp.width = 10; lp.height = 10; iv.setLayoutParams(lp); } last = now; } } } break; case MotionEvent.ACTION_UP: Log.d("TAG", "up!!!"); break; default: break; } return true; } }); } ; View.OnClickListener l = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.local: iv.setImageResource(R.drawable.sword); break; case R.id.network: BitmapUtils utils = new BitmapUtils(getApplicationContext()); utils.display(iv,"http://www.baidu.com/img/bd_logo1.png"); break; } ; } }; }
相关文章推荐
- eclipse下设置tomcat,修改Java代码不必重启tomcat
- 解决VM虚拟机MAC OS X 10.10.x的卡顿问题
- html5 video mp4播放不了问题
- 静心学习
- spring websocket服务器遇到问题记录1
- Wireshark数据抓包教程之安装Wireshark
- deepID result
- Android ORMLite数据库简介
- HttpInvoker in Spring
- Android Property Animation 物业动画
- Avl树
- LR随手一记 字符数组处理,转换成参数,赋值
- leetcode -Palindrome Linked List
- uvalive 3363(区间dp)
- 极光推送 别名
- #20 Valid Parentheses
- Bestcoder #47 B Senior's Gun
- Schema约束
- 自定义语言的实现——解释器模式
- java.util.ArrayList.indexOf(Object) 方法