直接上代码:

fun getBitmapFromView(view: View): Bitmap {val bitmap = Bitmap.createBitmap(view.width, view.height,Bitmap.Config.ARGB_8888)val canvas = Canvas(bitmap)view.layout(0, 0, view.width, view.height)Log.d("ss", "combineImages: width: " + view.width)Log.d("ss", "combineImages: height: " + view.height)view.draw(canvas)view.requestLayout()return bitmap}

今天看了一下kotlin的源码,发现我根本就是多余的,哈哈,人家本来就已经有这种方法了,直接用就可以了

/*** Return a [Bitmap] representation of this [View].** The resulting bitmap will be the same width and height as this view's current layout* dimensions. This does not take into account any transformations such as scale or translation.** Note, this will use the software rendering pipeline to draw the view to the bitmap. This may* result with different drawing to what is rendered on a hardware accelerated canvas (such as* the device screen).** If this view has not been laid out this method will throw a [IllegalStateException].** @param config Bitmap config of the desired bitmap. Defaults to [Bitmap.Config.ARGB_8888].*/
fun View.drawToBitmap(config: Bitmap.Config = Bitmap.Config.ARGB_8888): Bitmap {if (!ViewCompat.isLaidOut(this)) {throw IllegalStateException("View needs to be laid out before calling drawToBitmap()")}return Bitmap.createBitmap(width, height, config).applyCanvas {translate(-scrollX.toFloat(), -scrollY.toFloat())draw(this)}
}

直接引用就可以

override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_test)//textView.setpadding(10)textView.drawToBitmap(Bitmap.Config.ARGB_8888)}

超级简单的Android控件View转图片Bitmap相关推荐

  1. Android 控件view的可见,不可见,隐藏的设置和区别

    可见(visible) XML文件:android:visibility="visible" Java代码:view.setVisibility(View.VISIBLE); 不可 ...

  2. Android 控件之ImageSwitcher图片切换器

    ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊.做相册一绝 源码下载 一.重要方法 setImageURI(Uri uri):设置图片地址 s ...

  3. android 控件高度和图片一样高,Android 根据图片宽高比例设置控件宽高

    这个方式适用于一个界面少量图片. 主要的计算公式就是得到当前控件最大的显示宽度(高度),一般填充屏幕的话,就直接取屏幕的宽度了. 得到宽度除以图片宽除以高,也可以直接得到图片宽高的比例.如下公式 这种 ...

  4. 动态调整android控件(View)的大小

    //mLogin 是一个FrameLayout 布局view,对应的还有LinearLayout.LayoutParams,RelativeLayout.LayoutParams等 FrameLayo ...

  5. android 按钮吐司,Android控件系列之Toast使用介绍

    Toast英文含义是吐司,在Android中,它就像烘烤机里做好的吐司弹出来,并持续一小段时间后慢慢消失 Toast也是一个容器,可以包含各种View,并承载着它们显示. 使用场景: 1.需要提示用户 ...

  6. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

  7. 最简单也最难——如何获取到Android控件的高度,获取android控件

    最简单也最难--如何获取到Android控件的高度,获取android控件 问题 如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth ...

  8. Android 控件 RecyclerView简单使用

    Android 控件 RecyclerView简单使用 1.导依赖库 implementation 'com.android.support:recyclerview-v7:27.1.1'implem ...

  9. 如何在Android实现桌面清理内存简单Widget小控件

    如何在Android实现桌面清理内存简单Widget小控件 我们经常会看到类似于360.金山手机卫士一类的软件会带一个widget小控件,显示在桌面上,上面会显示现有内存大小,然后会带一个按键功能来一 ...

最新文章

  1. ICE BOX 配置,使用----第一篇
  2. ios 拍照上传到服务器_ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案...
  3. 三层交换机工作原理介绍
  4. awk 内嵌正则 提取字符串_使用awk提取字符串中的数字或字母
  5. 算法知识点——(3)监督学习——SVM
  6. 冒泡排序_Python实现
  7. QT学习之路:从入门到精通
  8. 2018软工实践——团队答辩
  9. 摘果子问题(聚沙成塔问题)
  10. win7如何设置wifi热点_mac如何共享网络?mac怎么建立wifi热点?
  11. 土豆网王微:做自己生活的导演
  12. 常见数据库id号编码
  13. mysql 查询重复字符串_如何在mysql中查询重复的字符串条目
  14. 交互设计师的自我修炼
  15. 利用RunLoop空闲时间执行预缓存任务
  16. 中国近代经济史(二)
  17. Shellcode生成工具Donut测试分析
  18. 黑帽SEO技巧揭秘:PBN是什么?还可以用来建设外链吗?
  19. 数据库必须具备的四个特性
  20. Linux 编译C++程序的四种方法

热门文章

  1. Selenium模拟浏览器
  2. Axure RP 8 企业版 滑块动画制作
  3. OPTIX_ERROR_UNSUPPORTED_ABI_VERSION错误解决方法
  4. 第五章 正态分布(概率论)
  5. COCOS2D-X之骨头架子动画武器换装效果Demo
  6. 求职:你总得有什么可以“拿得出手”
  7. 2020年中国燃气灶行业发展现状分析,受房地产政策影响,行业需求减弱「图」
  8. Wappalyzer
  9. rosdep安装与使用
  10. c语言的qsort快速排序函数