歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android之截屏代碼

Android之截屏代碼

日期:2017/3/1 10:41:49   编辑:Linux編程

分享一個簡單的截屏代碼。

1.主Activity

  1. package com.zhf.ScreenshotDemo;
  2. import Android.app.Activity;
  3. import android.graphics.Bitmap;
  4. import android.graphics.drawable.BitmapDrawable;
  5. import android.os.Bundle;
  6. import android.view.Display;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.widget.Button;
  10. import android.widget.ImageView;
  11. public class ScreenshotDemoActivity extends Activity {
  12. private Button shotButton;
  13. private ImageView imageView;
  14. @Override
  15. public void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.main);
  18. shotButton=(Button)findViewById(R.id.shotButton);
  19. imageView=(ImageView)findViewById(R.id.imageView);
  20. shotButton.setOnClickListener(new OnClickListener() {
  21. @Override
  22. public void onClick(View v) {
  23. //Bitmap-->Drawable
  24. BitmapDrawable bd=new BitmapDrawable(shot());
  25. imageView.setBackgroundDrawable(bd);
  26. // imageView.setImageBitmap(shot());
  27. }
  28. });
  29. }
  30. /**
  31. * 截屏方法
  32. * @return
  33. */
  34. private Bitmap shot() {
  35. View view = getWindow().getDecorView();
  36. Display display = this.getWindowManager().getDefaultDisplay();
  37. view.layout(0, 0, display.getWidth(), display.getHeight());
  38. view.setDrawingCacheEnabled(true);//允許當前窗口保存緩存信息,這樣getDrawingCache()方法才會返回一個Bitmap
  39. Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache());
  40. return bmp;
  41. }
  42. }

2.布局

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6. <ImageView android:id="@+id/imageView"
  7. android:layout_width="fill_parent"
  8. android:layout_height="350dip"
  9. />
  10. <Button android:id="@+id/shotButton"
  11. android:layout_width="fill_parent"
  12. android:layout_height="wrap_content"
  13. android:text="shot"/>
  14. </LinearLayout>

Copyright © Linux教程網 All Rights Reserved