android点击实现图片放大缩小
2013-02-25 20:18
621 查看
mainactivity类
Java代码
package com.example.androidsvg;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity
extends Activity {
private static
final double ZOOM_IN_SCALE =
1.25;//放大系数
private static
final double ZOOM_OUT_SCALE =
0.8;//缩小系数
@SuppressWarnings("null")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new Zoom(this));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Zoom类
Java代码
package com.example.androidsvg;
import android.view.View;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.view.KeyEvent;
public class Zoom
extends View {
private Drawable image;
private int zoomControler=20;
public Zoom(Context context){
super(context);
image=context.getResources().getDrawable(R.drawable.icon);
setFocusable(true);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
//控制图像的宽度和高度
image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler);
image.draw(canvas);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_DPAD_UP)//放大
zoomControler+=10;
if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN)
//缩小
zoomControler-=10;
if(zoomControler<10)
zoomControler=10;
invalidate();
return true;
}
}
Java代码
package com.example.androidsvg;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity
extends Activity {
private static
final double ZOOM_IN_SCALE =
1.25;//放大系数
private static
final double ZOOM_OUT_SCALE =
0.8;//缩小系数
@SuppressWarnings("null")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new Zoom(this));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
package com.example.androidsvg; import android.app.Activity; import android.os.Bundle; import android.view.Menu; public class MainActivity extends Activity { private static final double ZOOM_IN_SCALE = 1.25;//放大系数 private static final double ZOOM_OUT_SCALE = 0.8;//缩小系数 @SuppressWarnings("null") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new Zoom(this)); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
Zoom类
Java代码
package com.example.androidsvg;
import android.view.View;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.view.KeyEvent;
public class Zoom
extends View {
private Drawable image;
private int zoomControler=20;
public Zoom(Context context){
super(context);
image=context.getResources().getDrawable(R.drawable.icon);
setFocusable(true);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
//控制图像的宽度和高度
image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler);
image.draw(canvas);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_DPAD_UP)//放大
zoomControler+=10;
if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN)
//缩小
zoomControler-=10;
if(zoomControler<10)
zoomControler=10;
invalidate();
return true;
}
}
相关文章推荐
- android点击实现图片放大缩小 - java技术博客
- ANDROID展示HTML图文混排--实现图片缩小并点击放大
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- Android开发--Matrix(一)--实现图片的动态放大缩小
- android Matrix实现图片随意放大缩小或拖动
- Android 图片放大,缩小,点击还原,double点击放大
- Android利用Matrix实现图片的放大,缩小以及移动控制
- Android通过动画实现图片重复放大和缩小
- Android------实现图片双击放大,缩小,左右滑动的多种方式
- 点击图片实现放大或缩小
- 属性动画图片从上移动到屏幕中间,放大图片的二倍再缩小到原来,自定义圆实现倒计时,解析数据显示,点击条目实现js交互
- 9宫格实现微信朋友圈图片点击放大缩小弹簧效果
- Android开发--Matrix(一)--实现图片的动态放大缩小
- [置顶] Android基于photoView点击选择坐标,放大缩小图片时,坐标位置对应改变
- Android App中实现可以双击放大和缩小图片功能的实例
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android 关于图片的放大,缩小,旋转功能的实现(附源码)
- Android图片放大缩小实现方式(一)