package com.action;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ZoomControls;
public class MainActivity extends Activity {
private ImageView iv;
private ZoomControls zoomControls;
private LinearLayout lin;
//原图片的宽度和高度比例
private float src_wscale=1.0f;
private float src_hscale=1.0f;
private int id;//新的ImageView的id标示
private Bitmap srcbm;//原图的bitmap对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv=(ImageView) findViewById(R.id.main_iv);
lin=(LinearLayout) findViewById(R.id.main_lin1);
zoomControls=(ZoomControls) findViewById(R.id.main_zoomControls);
//获取原位图的对象
srcbm=BitmapFactory.decodeResource(getResources(), R.drawable.nature_25);
//缩小
zoomControls.setOnZoomOutClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
System.out.println("缩小....");
//获取原位图的宽度和高度
int src_width=srcbm.getWidth();
int src_hight=srcbm.getHeight();
//获取缩放的比例
src_wscale=src_wscale*0.8f;
src_hscale=src_hscale*0.8f;
//创建Maxtrix对象
Matrix m=new Matrix();
//设置缩放
m.postScale(src_wscale, src_hscale);
//创建新的位图对象,设置缩放
Bitmap nbm=Bitmap.createBitmap(srcbm, 0, 0, src_width, src_hight, m, true);
//将缩放后的位图设置到新的ImageView中
if(id==0){
lin.removeView(iv);//先将原来的Imageview移除
}else{
lin.removeView((ImageView)findViewById(id));//根据id移除ImageView
}
id++;
ImageView niv=new ImageView(MainActivity.this);
niv.setId(id);
niv.setImageBitmap(nbm);
lin.addView(niv);
}
});
//放大
zoomControls.setOnZoomInClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
System.out.println("放大....");
//获取原位图的宽度和高度
int src_width=srcbm.getWidth();
int src_hight=srcbm.getHeight();
//获取缩放的比例
src_wscale=src_wscale*1.25f;
src_hscale=src_hscale*1.25f;
//创建Maxtrix对象
Matrix m=new Matrix();
//设置缩放
m.postScale(src_wscale, src_hscale);
//创建新的位图对象,设置缩放
Bitmap nbm=Bitmap.createBitmap(srcbm, 0, 0, src_width, src_hight, m, true);
//将缩放后的位图设置到新的ImageView中
if(id==0){
lin.removeView(iv);//先将原来的Imageview移除
}else{
lin.removeView((ImageView)findViewById(id));//根据id移除ImageView
}
id++;
ImageView niv=new ImageView(MainActivity.this);
niv.setId(id);
niv.setImageBitmap(nbm);
lin.addView(niv);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ZoomControls;
public class MainActivity extends Activity {
private ImageView iv;
private ZoomControls zoomControls;
private LinearLayout lin;
//原图片的宽度和高度比例
private float src_wscale=1.0f;
private float src_hscale=1.0f;
private int id;//新的ImageView的id标示
private Bitmap srcbm;//原图的bitmap对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv=(ImageView) findViewById(R.id.main_iv);
lin=(LinearLayout) findViewById(R.id.main_lin1);
zoomControls=(ZoomControls) findViewById(R.id.main_zoomControls);
//获取原位图的对象
srcbm=BitmapFactory.decodeResource(getResources(), R.drawable.nature_25);
//缩小
zoomControls.setOnZoomOutClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
System.out.println("缩小....");
//获取原位图的宽度和高度
int src_width=srcbm.getWidth();
int src_hight=srcbm.getHeight();
//获取缩放的比例
src_wscale=src_wscale*0.8f;
src_hscale=src_hscale*0.8f;
//创建Maxtrix对象
Matrix m=new Matrix();
//设置缩放
m.postScale(src_wscale, src_hscale);
//创建新的位图对象,设置缩放
Bitmap nbm=Bitmap.createBitmap(srcbm, 0, 0, src_width, src_hight, m, true);
//将缩放后的位图设置到新的ImageView中
if(id==0){
lin.removeView(iv);//先将原来的Imageview移除
}else{
lin.removeView((ImageView)findViewById(id));//根据id移除ImageView
}
id++;
ImageView niv=new ImageView(MainActivity.this);
niv.setId(id);
niv.setImageBitmap(nbm);
lin.addView(niv);
}
});
//放大
zoomControls.setOnZoomInClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
System.out.println("放大....");
//获取原位图的宽度和高度
int src_width=srcbm.getWidth();
int src_hight=srcbm.getHeight();
//获取缩放的比例
src_wscale=src_wscale*1.25f;
src_hscale=src_hscale*1.25f;
//创建Maxtrix对象
Matrix m=new Matrix();
//设置缩放
m.postScale(src_wscale, src_hscale);
//创建新的位图对象,设置缩放
Bitmap nbm=Bitmap.createBitmap(srcbm, 0, 0, src_width, src_hight, m, true);
//将缩放后的位图设置到新的ImageView中
if(id==0){
lin.removeView(iv);//先将原来的Imageview移除
}else{
lin.removeView((ImageView)findViewById(id));//根据id移除ImageView
}
id++;
ImageView niv=new ImageView(MainActivity.this);
niv.setId(id);
niv.setImageBitmap(nbm);
lin.addView(niv);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}