把 view 转换成bitmap对象

前端之家收集整理的这篇文章主要介绍了把 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);
            }

猜你在找的XML相关文章