Android实现的截屏小程序示例

本文实例讲述了Android实现的截屏小程序。分享给大家供大家参考,具体如下:

先看截图,不过这个截屏还不够完整,头上的statusbar没有,呈黑色。

多按了几次,就成这样了,呵呵。

package com.test;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Bitmap.Config;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
public class ScreenPrinter extends Activity {
 /** Called when the activity is first created. */
 boolean customTitleSupported;
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.screen_printer);
 Button btn = (Button)findViewById(R.id.btn);
 btn.setOnClickListener(new Button.OnClickListener(){
  public void onClick(View arg0) {
  ImageView im = (ImageView)findViewById(R.id.img);
  Bitmap bmp = Bitmap.createBitmap(320, 480, Config.ARGB_8888);
  View cv = getWindow().getDecorView();
  cv.draw(new Canvas(bmp));
  im.setScaleType(ScaleType.FIT_XY);
  im.setImageBitmap(bmp);
  }});
 }
}

资源文件:

<?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"
 android:background="@drawable/border">
 <Button android:layout_width="fill_parent"
 android:layout_height="wrap_content" android:id="@+id/btn"
 android:text="截屏"/>
 <LinearLayout android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:layout_weight="1" android:padding="10dip"
 android:background="#ffffdd">
 <ImageView android:id="@+id/img"
 android:layout_width="fill_parent" android:layout_height="fill_parent"/>
 </LinearLayout>
</LinearLayout>

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android 屏幕截屏方法汇总

    1.直接使用getWindow().getDecorView().getRootView() 直接使用getWindow().getDecorView().getRootView()是获取当前屏幕的activity.然而对于系统状态栏的信息是截不了,出现一条空白的.如下图: 主要到没,有一条白色边就是系统状态栏.看一下代码,很简单都加了注释了. //这种方法状态栏是空白,显示不了状态栏的信息 private void saveCurrentImage() { //获取当前屏幕的大小 int wi

  • android中Webview实现截屏三种方式小结

    本人最近学习了android中Webview实现截屏三种方式,下面我来记录一下,有需要了解的朋友可参考.希望此文章对各位有所帮助. 第一种方式 通过调用webview.capturePicture(),得到一个picture对象,根据图像的宽和高创建一个Bitmap,再创建一个canvas,绑定bitmap,最后用picture去绘制. //获取Picture对象 Picture picture = wv_capture.capturePicture(); //得到图片的宽和高(没有reflec

  • android截屏功能实现代码

    android开发中通过View的getDrawingCache方法可以达到截屏的目的,只是缺少状态栏! 原始界面 截屏得到的图片 代码实现 1. 添加权限(AndroidManifest.xml文件里) 复制代码 代码如下: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 2. 添加1个Button(activity_main.xml文件) <RelativeL

  • 详解Android截屏事件监听

    1. 前言 Android系统没有直接对截屏事件监听的接口,也没有广播,只能自己动手来丰衣足食,一般有三种方法. 利用FileObserver监听某个目录中资源变化情况 利用ContentObserver监听全部资源的变化 监听截屏快捷按键 由于厂商自定义Android系统的多样性,再加上快捷键的不同以及第三方应用,监听截屏快捷键这事基本不靠谱,可以直接忽略. 本文使用的测试手机,一加2(One Plus 2). 2. FileObserver 添加权限: <uses-permission an

  • 解析android截屏问题

    我是基于android2.3.3系统之上的,想必大家应该知道在android源码下面有个文件叫做screencap吧,位于frameworks\base\services\surfaceflinger\tests\screencap\screencap.cpp,你直接在linux下编译(保存在 /system/bin/test-screencap),然后push到手机上再通过电脑去敲命令test-screencap /mnt/sdcard/scapxx.png就可以实现截屏. 复制代码 代码如下

  • Android实现截屏方式整理(总结)

    本文介绍了Android 实现截屏方式整理,分享给大家.希望对大家有帮助 可能的需求: 截自己的屏 截所有的屏 带导航栏截屏 不带导航栏截屏 截屏并编辑选取一部分 自动截取某个空间或者布局 截取长图 在后台去截屏 1.只截取自己应用内部界面 1.1 截取除了导航栏之外的屏幕 View dView = getWindow().getDecorView(); dView.setDrawingCacheEnabled(true); dView.buildDrawingCache(); Bitmap

  • Android 获取浏览器当前分享页面的截屏示例

    今天在项目中碰见这么一个需求:获取 Chrome 浏览器分享时,页面的截屏.静下来一想,既然是分享,那么肯定得通过 Intent 来传递数据,如果真的能获取到 Chrome 分享页面时的截屏,那么 Intent 的数据中,一定有 .jpg 或者 .png 结尾的数据.说干就干,Demo 写起来. 首先,新建一个 BrowserScreenShotActivity.java,在 AndroidManifest.xml 注册一下 <intent-filter>. <?xml version=

  • Android截屏截图的几种方法总结

    Android截屏 Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途 一.Activity截屏 1.截Activity界面(包含空白的状态栏) /** * 根据指定的Activity截图(带空白的状态栏) * * @param context 要截图的Activity * @return Bitmap */ public static Bitmap shotActivity(Activity context) { View vie

  • Android实现的截屏小程序示例

    本文实例讲述了Android实现的截屏小程序.分享给大家供大家参考,具体如下: 先看截图,不过这个截屏还不够完整,头上的statusbar没有,呈黑色. 多按了几次,就成这样了,呵呵. package com.test; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Bitmap.Config; import

  • C++开发截屏小程序功能

    C++开发截屏小程序,Win32程序,可以显示截屏区域并保存. 上次的流星雨屏幕程序就简单涉及到GDI绘图了,这次简单介绍几个API函数,涉及到GDI的. GetDC,获取当前创建的窗口的设备环境. CreateDC,获取当前屏幕的设备环境. CreateCompatibleDC,创建一个兼容性的设备环境(相当于一个虚拟的设备环境) BitBlt,这个函数,相当于拷贝,将一个环境的设备内容拷贝到另一个设备中. CreateCompatibleBitmap,创建一块画布,将其放在兼容性的DC里面,

  • Android编程之截屏实现方法(包括scrollview与listview)

    本文实例讲述了Android编程之截屏实现方法.分享给大家供大家参考,具体如下: public class ScreenShot { // 获取指定Activity的截屏,保存到png文件 public static Bitmap takeScreenShot(Activity activity) { // View是你需要截图的View View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(tr

  • Android实现长截屏功能

    本文实例为大家分享了Android实现长截屏功能的具体代码,供大家参考,具体内容如下 1.MainActivity public class MainActivity extends AppCompatActivity { ScrollView scrollView; String sdRoot = Environment.getExternalStorageDirectory().getPath(); @Override protected void onCreate(Bundle saved

  • android Socket实现简单聊天小程序

    android Socket实现简单聊天小程序,供大家参考,具体内容如下 服务器端: package org.hwq.echo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public cla

  • android实现手机截屏并保存截图功能

    本文实例为大家分享了android实现手机截屏并保存截图功能的具体代码,供大家参考,具体内容如下 一.准备一张图片 拷贝screenshot_panel.9.png放在目录drawable-xhdpi下 二.activity_main.xml 代码如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.androi

  • 如何使用python写截屏小工具

    前言 今天我看了一下自己的文件夹,发现了自己写了许多似乎很无聊的代码.于是乎,一个想法油然而生:"生活已经很无聊了,不如再无聊一点叭". 说干就干,那就开一个专题,我们称之为kimol君的无聊小发明. 妙-啊~~~ 今天要做的东西,就是用python写一个截屏工具.想必大家平时截屏的时候很多都是用的微信的ALT+A或者是WINDOWS自带的截屏软件.作为技术宅的我,怎么总是用别人的东西呢? 看我的,上图: 效果还阔以,好歹这个小猫咪截出来也是有模有样的~ 一.技术实现 1. 相关库 在

  • Android App跳转微信小程序踩坑实战

    最近,有一个App跳转小程序的需求,参考微信的官方文档,接入还是比较简单的,不过中途遇到了一个坑,所以记录一下. 首先,需要登录微信开放平台 微信开放平台,创建一个移动应用,然后系统会返回一个appid. 需要说明的是,不管是跳转微信小程序还是微信登录.分享,都需要先在微信开放平台注册appId.然后,就可以参考 Android APP拉取小程序的例子,在WebView中调用下面的代码(可以是直接调用,也可以是协议拦截). String appId = "wxd930ea5d5a258f4f&q

  • Android开发中实现发送短信的小程序示例

    上图为代码结构图. 现在我们看下具体的代码. Send.java package cn.com.sms.send; import java.util.ArrayList; import java.util.Iterator; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.te

  • React Native 截屏组件的示例代码

    React Native 截屏组件:react-native-view-shot,可以截取当前屏幕或者按照当前页面的组件来选择截取,如当前页面有一个图片组件,一个View组件,可以选择截取图片组件或者View组件.支持iOS和安卓. 安装方法 npm install react-native-view-shot react-native link react-native-view-shot 使用示例 captureScreen() 截屏方法 截取当前屏幕,跟系统自带的截图一致,只会截取当前屏幕

随机推荐