本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
在学校做的小实例下载地址http://download.csdn.net/detail/runaying/6419367
视频演示在 http://v.youku.com/v_show/id_XNjIzMDg4NzUy.html
package zheng.android.com;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class TextActivity extends Activity {
private Button star = null, stop = null;
ImageView d;
private Matrix matrix;
private Bitmap bitMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
star = (Button) findViewById(R.id.startButton);
d = (ImageView) findViewById(R.id.imageView1);
bitMap = BitmapFactory.decodeResource(getResources(),
R.drawable.squter);
d.setImageBitmap(bitMap);
matrix = new Matrix();
star.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// pb.setVisibility(View.VISIBLE);
updateBarHandler.post(updateThread);
}
});
}
Handler updateBarHandler = new Handler() {
public void handleMessage(Message msg) {
// pb.setProgress(msg.arg1);
updateBarHandler.post(updateThread);
};
};
protected void onDestroy() {
updateBarHandler.removeCallbacks(updateThread);
super.onDestroy();
}
Runnable updateThread = new Runnable() {
int i = 0;
boolean run = false;
public void run() {
System.out.println("begin Thread");
i = i + 10;
// 得到一个消息对象,Message类是有Android操作系统提供
Message msg = updateBarHandler.obtainMessage();
msg.arg1 = i;
try {
// 设置当前显示睡眠1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
matrix.preRotate(6);
// createBitmap方法的作用是对原始图象进行变换设置
Bitmap bm = Bitmap.createBitmap(bitMap, 0, 0, bitMap.getWidth(),
bitMap.getHeight(), matrix, true);
d.setImageBitmap(bm);
updateBarHandler.sendMessage(msg);
}
};
}
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class TextActivity extends Activity {
private Button star = null, stop = null;
ImageView d;
private Matrix matrix;
private Bitmap bitMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
star = (Button) findViewById(R.id.startButton);
d = (ImageView) findViewById(R.id.imageView1);
bitMap = BitmapFactory.decodeResource(getResources(),
R.drawable.squter);
d.setImageBitmap(bitMap);
matrix = new Matrix();
star.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// pb.setVisibility(View.VISIBLE);
updateBarHandler.post(updateThread);
}
});
}
Handler updateBarHandler = new Handler() {
public void handleMessage(Message msg) {
// pb.setProgress(msg.arg1);
updateBarHandler.post(updateThread);
};
};
protected void onDestroy() {
updateBarHandler.removeCallbacks(updateThread);
super.onDestroy();
}
Runnable updateThread = new Runnable() {
int i = 0;
boolean run = false;
public void run() {
System.out.println("begin Thread");
i = i + 10;
// 得到一个消息对象,Message类是有Android操作系统提供
Message msg = updateBarHandler.obtainMessage();
msg.arg1 = i;
try {
// 设置当前显示睡眠1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
matrix.preRotate(6);
// createBitmap方法的作用是对原始图象进行变换设置
Bitmap bm = Bitmap.createBitmap(bitMap, 0, 0, bitMap.getWidth(),
bitMap.getHeight(), matrix, true);
d.setImageBitmap(bm);
updateBarHandler.sendMessage(msg);
}
};
}