package com.wansha;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class Activity31 extends Activity {
private RelativeLayout layout;
private Button big;
private Button small;
private ImageView bg;
private Bitmap map;
private float scaleH = 1;
private float scaleW = 1;
private int id;
private DisplayMetrics metrics;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.layout = (RelativeLayout)this.findViewById(R.id.la);
this.big = (Button)this.findViewById(R.id.big);
this.small = (Button)this.findViewById(R.id.small);
// this.image2 = (ImageView)this.findViewById(R.id.image1);
// this.image2.setImageResource(R.drawable.left);
this.bg = (ImageView)this.findViewById(R.id.bg);
// this.bg.setImageResource(R.drawable.tttt);
this.map = BitmapFactory.decodeResource(getResources(), R.drawable.tttt);
Log.d("mydebug", "imageheigh---->" + map.getWidth() + "imagewidth------->" + map.getHeight());
metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
// Bitmap bm = Bitmap.createBitmap(map, 0, 0, 100, 100);
// this.bg.setImageBitmap(bm);
Log.d("mydebug", "screen_width--------->" + metrics.widthPixels + "screen_height----------->" + metrics.heightPixels);
this.big.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
float scale = 1.25f;
Matrix matrix = new Matrix();
scaleW = scaleW * scale;
scaleH = scaleH * scale;
if(scaleH*map.getHeight() >= metrics.heightPixels || scaleW*map.getWidth() >= metrics.widthPixels){
big.setEnabled(false);
return;
}
if(id == 0){
layout.removeView(bg);
}else{
layout.removeView((ImageView)findViewById(id));
}
matrix.postScale(scaleW, scaleH);
Bitmap bitmap = Bitmap.createBitmap(map, 0, 0, map.getWidth(), map.getHeight(), matrix, true);
bg.setImageBitmap(bitmap);
ImageView image = new ImageView(Activity31.this);
image.setId(++id);
image.setImageBitmap(bitmap);
layout.addView(image);
setContentView(layout);
System.out.println("bit---------->" + scaleH*scale*map.getHeight() + " : " + scaleW*scale*map.getWidth());
if(scaleH*scale*map.getHeight() >= metrics.heightPixels || scaleW*scale*map.getWidth() >= metrics.widthPixels){
big.setEnabled(false);
}else{
big.setEnabled(true);
}
small.setEnabled(true);
}
});
this.small.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(id == 0){
layout.removeView(bg);
}else{
layout.removeView((ImageView)findViewById(id));
}
float scale = 0.8f;
Matrix matrix = new Matrix();
scaleW = scaleW * scale;
scaleH = scaleH * scale;
matrix.postScale(scaleW, scaleH);
Bitmap bitmap = Bitmap.createBitmap(map, 0, 0, map.getWidth(), map.getHeight(), matrix, true);
bg.setImageBitmap(bitmap);
ImageView image = new ImageView(Activity31.this);
image.setId(++id);
image.setImageBitmap(bitmap);
layout.addView(image);
setContentView(layout);
if(scaleH*scale <= 0.4){
small.setEnabled(false);
}else{
big.setEnabled(true);
}
big.setEnabled(true);
}
});
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
System.out.println("keycode--------->" + keyCode);
if(keyCode == KeyEvent.KEYCODE_BACK){
new AlertDialog.Builder(this).setTitle("退出").setMessage("确定要退出吗?").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
android.os.Process.killProcess(android.os.Process.myPid());
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
}
return super.onKeyDown(keyCode, event);
}
}