Android:随笔——对页面的View进行截图

转载请标明地址 QuincySx:[http://www.jianshu.com/p/71309b2bd0e7]


我们在做项目时,往往有一个这样的需求:就是对视图的一部分进行截图然后分享出去
这个功能很简单还是简单的看代码吧

<android.support.constraint.ConstraintLayout
        android:id="@+id/layout_test"
        android:layout_width="90dp"
        android:layout_height="90dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.3">

        <ImageView
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:src="@drawable/icon_image"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="测试截图"
            android:textColor="#2b24c3"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="1.0"/>
    </android.support.constraint.ConstraintLayout>

    <Button
        android:id="@+id/btn_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="点击测试"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/layout_test"/>

    <ImageView
        android:id="@+id/img_show"
        android:layout_width="90dp"
        android:layout_height="90dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/btn_test"
        tools:src="@drawable/icon_image"/>

对 Activity 里面获取控件的代码已省略,直接展示业务代码

public void onClick(View view) {
        //控件可以进行缓存  
        mConstraintLayout.setDrawingCacheEnabled(true);
        //获取缓存的 Bitmap  
        Bitmap drawingCache = mConstraintLayout.getDrawingCache();
        //对获取的 Bitmap  进行复制
        drawingCache = drawingCache.createBitmap(drawingCache);
        //关闭视图的缓存
        mConstraintLayout.setDrawingCacheEnabled(false);

        if (drawingCache != null) {
            mImageView.setImageBitmap(drawingCache);
            Toast.makeText(this, "获取失败", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "获取成功", Toast.LENGTH_SHORT).show();
        }
    }

总结

看到这个功能感觉无从下手,其实也挺简单的,如果有需求不妨收藏一下,分享给有需求的朋友

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,953评论 25 709
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 47,040评论 22 665
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,855评论 0 17
  • 今天读了同事微信的一篇求职经历文章,并关联着一些有意思文章,就接连读起来,欲罢不能,突然发现这些文章都是在简书里的...
    梅香独处阅读 2,784评论 0 2
  • 春节假期似乎咻的一下就结束了。每年回老家总是会有很多感触,有的心酸,有的欣慰,有的痛苦,有的快乐。大概是年岁...
    星河清梦zhou阅读 2,875评论 1 4

友情链接更多精彩内容