69、Android 布局中轻松实现图片的全屏、居中、平铺

 
 
 1   public void paint() {
 2         if (item.laying_mode != 1)//平铺或者充满
 3         {
 4             new AsyncTask<Void, Void, Void>() {
 5                 @Override
 6                 protected Void doInBackground(Void... params) {
 7                     Looper.prepare();
 8                     try {
 9                         theBitmap = Glide.
10                                 with(ctxt).
11                                 load(item.src).
12                                 asBitmap().
13                                 into(fenbianlv[0], fenbianlv[1]).
14                                 get();
15                     } catch (final ExecutionException e) {
16                         Log.e(TAG, e.getMessage());
17                     } catch (final InterruptedException e) {
18                         Log.e(TAG, e.getMessage());
19                     }
20                     return null;
21                 }
22 
23                 @Override
24                 protected void onPostExecute(Void dummy) {
25                     if (null != theBitmap) {
26                         // The full bitmap should be available here
27 
28                         BitmapDrawable bd = new BitmapDrawable(Resources.getSystem(),theBitmap);
29                         if (item.laying_mode == 0)//充满(默认值,缩放到图片全部充满屏幕
30                         {
31                         } else if (item.laying_mode == 2)//平铺(从左上开始,一个一个的平铺)
32                         {
33                             bd.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
34                         }
35                         rl.setBackground(bd);
36                     }
37                 }
38             }.execute();
39         }
40         else//1:居中(图片按照原始大小,放到屏幕中间)
41         {
42             new AsyncTask<Void, Void, Void>() {
43                 @Override
44                 protected Void doInBackground(Void... params) {
45                     Looper.prepare();
46                     try {
47                         String imageUrl = item.src;
48                         theBitmap= BitmapFactory.decodeStream((InputStream) new URL(imageUrl).getContent());
49                     } catch (final Exception e) {
50                         Log.e(TAG, e.getMessage());
51                     }
52                     return null;
53                 }
54 
55                 @Override
56                 protected void onPostExecute(Void dummy) {
57                     if (null != theBitmap) {
58                         iv.setImageBitmap(theBitmap);
59                     }
60                 }
61             }.execute();
62         }
63     }
View Code

 

 一下三种分别是充满、平铺、居中(按图片原始大小)

 

转载于:https://www.cnblogs.com/kunyashaw/p/5110708.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值