SKY外语计算机学习

标题: Android用代码截屏的方法 [打印本页]

作者: 回忆搁浅    时间: 2012-10-29 17:19
标题: Android用代码截屏的方法
本帖最后由 rogan 于 2012-10-31 12:21 编辑

今天在公司自己弄android的功能, 主要是要用到android的截屏功能,自己摸索了下,下面就来分享下我的代码。


首先  建立的ScreenshotDemoActivity 代码如下:
  1. package com.lyc.test;

  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.          
  21.          
  22.          
  23.           shotButton.setOnClickListener(new OnClickListener() {  
  24.               @Override  
  25.               public void onClick(View v) {  
  26.                   //Bitmap-->Drawable   
  27.                   BitmapDrawable bd=new BitmapDrawable(shot());  
  28.                   imageView.setBackgroundDrawable(bd);  
  29.   //              imageView.setImageBitmap(shot());   
  30.               }  
  31.           });
  32.       }  
  33.    
  34.       /**
  35.        * 截屏方法
  36.        * @return
  37.        */  
  38.       private Bitmap shot() {  
  39.           View view = getWindow().getDecorView();  
  40.           Display display = this.getWindowManager().getDefaultDisplay();  
  41.           view.layout(0, 0, display.getWidth(), display.getHeight());
  42.           view.setDrawingCacheEnabled(true);//允许当前窗口保存缓存信息,这样getDrawingCache()方法才会返回一个Bitmap   
  43.           Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache());  
  44.          
  45.          
  46.           return bmp;  
  47.       }  
  48. }




  49. androidManifest.xml

  50. <?xml version="1.0" encoding="utf-8"?>
  51. <manifest xmlns:android="[url=http://schemas.android.com/apk/res/android]http://schemas.android.com/apk/res/android[/url]"
  52.     package="com.lyc.test"
  53.     android:versionCode="1"
  54.     android:versionName="1.0" >
  55.     <uses-sdk android:minSdkVersion="10" />
  56.     <application
  57.         android:icon="@drawable/ic_launcher"
  58.         android:label="@string/app_name" >
  59.         <activity
  60.             android:label="@string/app_name"
  61.             android:name=".ScreenshotDemoActivity" >
  62.             <intent-filter >
  63.                 <action android:name="android.intent.action.MAIN" />
  64.                 <category android:name="android.intent.category.LAUNCHER" />
  65.             </intent-filter>
  66.         </activity>
  67.     </application>
  68. </manifest>


  69. main.xml  
  70. <?xml version="1.0" encoding="utf-8"?>  
  71. <LinearLayout xmlns:android="[url=http://schemas.android.com/apk/res/android]http://schemas.android.com/apk/res/android[/url]"  
  72.     android:layout_width="fill_parent"  
  73.     android:layout_height="fill_parent"  
  74.    android:orientation="vertical" >  
  75.     <ImageView android:id="@+id/imageView"  
  76.         android:layout_width="fill_parent"  
  77.         android:layout_height="350dip"  
  78.         />  
  79.   
  80.     <Button android:id="@+id/shotButton"  
  81.         android:layout_width="fill_parent"  
  82.         android:layout_height="wrap_content"  
  83.         android:text="shot"/>

  84.     <EditText
  85.         android:id="@+id/editText1"
  86.         android:layout_width="167dp"
  87.         android:layout_height="18dp" >
  88.         <requestFocus />
  89.     </EditText>
  90.     <RadioButton
  91.         android:id="@+id/radioButton1"
  92.         android:layout_width="wrap_content"
  93.         android:layout_height="wrap_content"
  94.         android:text="RadioButton" />
  95.          
  96.    </LinearLayout>  
复制代码
当点击button按钮的时候,就会截图,本地图片不知道怎么上传, 就不传,效果了、 你们可以去试下、


作者: rogan    时间: 2012-10-31 12:22
这个不错
作者: 流氓    时间: 2012-11-2 20:17
( ^_^ )不错嘛  期待更多好东西
作者: sky7987    时间: 2013-10-19 17:01
嗯嗯 不错 期待 更多。。。




欢迎光临 SKY外语计算机学习 (http://join.skywj.com/) Powered by Discuz! X2.5