安卓适配

1、表情包的适配:ImageSpan
(1)、ImageSpan是通过bitmap生成的,如果要调整图片的大小,你可以对bitmap进行预处理,比如scale之类的操作,生成你目标的bitmap再生成ImageSpan。

(2)、可以把图片设置到ImageView里,调整好ImageView里图片的大小,再把ImageView生成对应的bitmap,从而生成ImageSpan。

(3)、测试:设置bitmap的参数

// Bitmap的配置参数
                BitmapFactory.Options opts = new BitmapFactory.Options();
                opts.inDensity = context.getResources().getDisplayMetrics().densityDpi;
                opts.inTargetDensity = context.getResources().getDisplayMetrics().densityDpi;

                Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resId, opts);
                // BitmapFactory.decodeResource(context.getResources(), resId);

                // bitmap = Bitmap.createScaledBitmap(bitmap, 60, 60, true);
                // 通过图片资源id来得到bitmap,用一个ImageSpan来包装
                ImageSpan imageSpan = new ImageSpan(bitmap);



                Drawable drawable = context.getResources().getDrawable(R.drawable.emoji_1);
                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
                        drawable.getIntrinsicHeight());
                ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);

(4)、matrix的类:操作bitmap的缩放:

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resId);

                Matrix matrix = new Matrix();
                matrix.setScale(0.5f, 0.5f);// 缩小为原来的一半
                Bitmap bm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);

                ImageSpan span = new ImageSpan(bm, ImageSpan.ALIGN_BASELINE);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值