在Android中,可以将当前Activity显示UI界面截取,得到一个bitmap类型的对象,即位图
关键代码:
View vv = v.getRootView();
vv.setDrawingCacheEnabled(true);
Bitmap bm = vv.getDrawingCache();
例子:
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class CaptureScreenActivity extends Activity {
Button captureButton;
ImageView imageView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
imageView = new ImageView(this);
setContentView(R.layout.main);
captureButton = (Button) this.findViewById(R.id.capture);
captureButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//得到当前view所在view结构中的根view
View vv = v.getRootView();
//设置属性 vv是你要截取的View
vv.setDrawingCacheEnabled(true);
//取得位图
Bitmap bm = vv.getDrawingCache();
//用imageView显示刚才截的图
imageView.setImageBitmap(bm);
CaptureScreenActivity.this.setContentView(imageView);
}
});
}
}
[img]http://dl.iteye.com/upload/attachment/363035/6caa938b-42c5-377b-b3fd-f73eebfe5f8e.png[/img]
关键代码:
View vv = v.getRootView();
vv.setDrawingCacheEnabled(true);
Bitmap bm = vv.getDrawingCache();
例子:
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class CaptureScreenActivity extends Activity {
Button captureButton;
ImageView imageView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
imageView = new ImageView(this);
setContentView(R.layout.main);
captureButton = (Button) this.findViewById(R.id.capture);
captureButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//得到当前view所在view结构中的根view
View vv = v.getRootView();
//设置属性 vv是你要截取的View
vv.setDrawingCacheEnabled(true);
//取得位图
Bitmap bm = vv.getDrawingCache();
//用imageView显示刚才截的图
imageView.setImageBitmap(bm);
CaptureScreenActivity.this.setContentView(imageView);
}
});
}
}
[img]http://dl.iteye.com/upload/attachment/363035/6caa938b-42c5-377b-b3fd-f73eebfe5f8e.png[/img]