通过绘图缓存(DrawingCache)捕获屏幕-Android捕获屏幕
转自:http://androidbiancheng.blogspot.com/2011/05/drawingcache.html
XML布局:
当点击按钮,本应用程序会通过绘图缓存(DrawingCache)捕获屏矵显示,并显示在imageView中,效果如下图:
主Activity:
package com.AndroidScreenCapture; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; public class AndroidScreenCapture extends Activity { View myscreen; ImageView viewScreen; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); setContentView(R.layout.main); myscreen = (View)findViewById(R.id.myscreen); Button buttonCapture = (Button)findViewById(R.id.capture); viewScreen = (ImageView)findViewById(R.id.screenview); buttonCapture.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub myscreen.setDrawingCacheEnabled(true); Bitmap bmScreen = myscreen.getDrawingCache(); viewScreen.setImageBitmap(bmScreen); }}); } }
XML布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/myscreen" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/capture" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Capture Screen!" /> <ImageView android:id="@+id/screenview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>