通过绘图缓存(DrawingCache)捕获屏幕-Android捕获屏幕

转自:http://androidbiancheng.blogspot.com/2011/05/drawingcache.html

当点击按钮,本应用程序会通过绘图缓存(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>


posted on 2013-01-17 20:08  封起De日子  阅读(184)  评论(0编辑  收藏  举报

导航