Andriod 截屏应用示例代码

时间: 2012-08-17 / 分类: 资料积累 / 浏览次数: 1,100 views / 3个评论 发表评论

如果做过移动办公软件,或者掌上BI软件话,一般就会有一项功能,就是用户可以当前屏幕的显示的报表或者数据,截图并发送功能。在Android下我们也常用到这个截图功能

直接给代码吧:

package com.zte.shot;

import android.R.color;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {
    private Button shotButton;
    private ImageView imageView;
    private boolean mFlag=false;
    BitmapDrawable bd;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        shotButton=(Button)findViewById(R.id.shotButton);
        imageView=(ImageView)findViewById(R.id.imageView);
        shotButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //Bitmap-->Drawable

            	if(mFlag){
            		imageView.setBackgroundColor(color.black);
            		mFlag=!mFlag;
            	}else{
            		bd=new BitmapDrawable(shot());
            		 imageView.setBackgroundDrawable(bd);
            		 mFlag=!mFlag;
            	}

//              imageView.setImageBitmap(shot());
            }
        });
    }

    /**
     * <a href="http://www.ztyhome.com/tag/%e6%88%aa%e5%b1%8f/" title="查看截屏中的全部文章" target="_blank">截屏</a>方法
     * @return
     */
    private Bitmap shot() {
        View view = getWindow().getDecorView();
        Display display = this.getWindowManager().getDefaultDisplay();
        view.layout(0, 0, display.getWidth(), display.getHeight());
        view.setDrawingCacheEnabled(true);//允许当前窗口保存缓存信息,这样getDrawingCache()方法才会返回一个Bitmap
        Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache());
        return bmp;
    }
}

xml文件代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="fill_parent"
        android:layout_height="350dip" />

    <Button
        android:id="@+id/shotButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="shot" />

</LinearLayout>



.

*******************************************************************

上面是广告! 真的是广告!! 真的真的啊!!!

-----------------------------------------------------Copyright © 2011-2012--浙ICP备12011997---------------------------- ---------------------- ------------------------

无觅相关文章插件,快速提升流量