设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8666|回复: 3
打印 上一主题 下一主题

[安卓] Android用代码截屏的方法

[复制链接]

9

主题

0

好友

164

积分

注册会员

Rank: 2

性别
保密
跳转到指定楼层
楼主
发表于 2012-10-29 17:19:13 |只看该作者 |倒序浏览
本帖最后由 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按钮的时候,就会截图,本地图片不知道怎么上传, 就不传,效果了、 你们可以去试下、

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享淘帖0 收藏收藏0 评分评分

65

主题

3

好友

739

积分

超级版主

Rank: 8Rank: 8

自我介绍
新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
生肖
星座
狮子座
性别

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 论坛元老

沙发
发表于 2012-10-31 12:22:29 |只看该作者
这个不错
回复

使用道具 评分 举报

12

主题

5

好友

425

积分

中级会员

Rank: 3Rank: 3

生肖
星座
摩羯座
性别

最佳新人 活跃会员 灌水之王 论坛元老

板凳
发表于 2012-11-2 20:17:01 |只看该作者
( ^_^ )不错嘛  期待更多好东西
回复

使用道具 评分 举报

2

主题

2

好友

217

积分

中级会员

Rank: 3Rank: 3

性别
保密
地板
发表于 2013-10-19 17:01:29 |只看该作者
嗯嗯 不错 期待 更多。。。
回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 立即注册


手机版|SKY外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-12-22 22:24 , Processed in 0.144243 second(s), 26 queries .

回顶部