前端之家收集整理的这篇文章主要介绍了
把 view 转换成bitmap对象,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
View mViewInflater = LayoutInflater.from(this).inflate(R.layout.item_gallery,null)
ImageView mGalleryImage = (ImageView) mViewInflater.findViewById(R.id.gallery_image)
mGalleryImage.setImageResource(galleryBean.mGalleryIm)
TextView mData_tv = (TextView) mViewInflater.findViewById(R.id.data_tv)
mData_tv.setText(galleryBean.dataYear)
TextView mIntegralNumber = (TextView) mViewInflater.findViewById(R.id.integralNumber_tv)
mIntegralNumber.setText(galleryBean.integralNumber)
//启用绘图缓存
mViewInflater.setDrawingCacheEnabled(true)
//调用下面这个方法非常重要,如果没有调用这个方法,得到的bitmap为null
mViewInflater.measure(View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED))
//这个方法也非常重要,设置布局的尺寸和位置
LogUtils.e("测量后的尺寸:" + mViewInflater.getMeasuredWidth() + "....." + mViewInflater.getMeasuredHeight())
mViewInflater.layout(0,0,mViewInflater.getMeasuredWidth(),mViewInflater.getMeasuredHeight())
// mViewInflater.layout(0,MobileUtils.px2dp(mViewInflater.getMeasuredWidth()),// MobileUtils.px2dp(mViewInflater.getMeasuredHeight()))
//获得绘图缓存中的Bitmap
mViewInflater.buildDrawingCache()
Bitmap mCacheBitmap = mViewInflater.getDrawingCache()
Bitmap mBitmap = Bitmap.createBitmap(mCacheBitmap)
if (mBitmap != null) {
mGallery.add(mBitmap)
}