美文网首页
Android 加载服务器的.9图片

Android 加载服务器的.9图片

作者: RookieRun | 来源:发表于2019-12-11 10:37 被阅读0次

1.9-patch图片的制作: 点我直接上车

2.9-patch上传服务器(尤为重要的一步)

1.上传服务器时,不能将步骤1中制作的.9图直接上传服务器,而是需要转换为png后在上传,原因:

getNinePatchChunk works just fine. It returned null 
because you were giving Bitmap a “source” ninepatch. 
It needs a “compiled” ninepatch image.

There are two types of ninepatch file formats in the Android world (“source” and “compiled”).

 The source version is where you add the 1px transparency border everywhere–
 when you compile your app into a .apk later, 
aapt will convert your *.9.png files to the binary format that Android expects. 
This is where the png file gets its “chunk” metadata

2.转换的方法
2.1直接搞一个demo工程,将.9图片放进去编程apk后,再解压拿到对应的.9图
2.2使用build-tools文件夹中的aapt命令

aapt s -i test.9.png -o test.png
Crunching single PNG file: test.9.png
    Output file: test.png

3.9-patch图片下载

4.9-patch图片的转换及设置

拿到网络图片的bitmap(BitmapFactory.decodeStream,decodeByteArray...)
  Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
                if (bitmap != null) {
                    byte[] ninePatchChunk = bitmap.getNinePatchChunk();
                    boolean isNinePatch = NinePatch.isNinePatchChunk(ninePatchChunk);
                    if (isNinePatch) {
                        final NinePatchDrawable ninePatchDrawable = new NinePatchDrawable(bitmap, ninePatchChunk, new Rect(), null);
                        PersonalMoreActivity.this.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                ((ImageView) findViewById(R.id.iv_test)).setImageDrawable(ninePatchDrawable);
                                textView.setBackground(ninePatchDrawable);
                            }
                        });
                    }
                }

参考文章:
1.create-a-ninepatch-ninepatchdrawable-in-runtime

相关文章

  • Android 加载服务器的.9图片

    1.9-patch图片的制作: 点我直接上车 2.9-patch上传服务器(尤为重要的一步) 1.上传服务器时,不...

  • AndroidのBase64格式图片显示

    Android开发过程中,图片的加载多数是请求URL路径或者加载本地的图片,当然也有加载服务器用Base64编码过...

  • 开源框架_01Glide

    参考文章 : Android图片加载框架最全解析(一), Glide的基本用法 Android图片加载框架最全解析...

  • 网络

    13.服务器图片改了,url没有变,需求,服务器的图片变了,就从服务器加载图片,如果服务器的没变,就从本地加载 1...

  • 初探Glide,Google推介的图片缓存库

    0 .Thanks 项目地址 Android Glide图片加载(加载监听、加载动画)【Glide】重新加载图片 ...

  • Android 三方框架原理

    Android图片加载框架最全解析(一),Glide的基本用法 Android图片加载框架最全解析(二),从源码的...

  • Android Glide 使用

    加载 GIF 图片到 ImageView 中 通常 Android 的 ImageView 不能加载 Gif 图片...

  • 图片列表 Recyclerview + Glide 图片忽大忽小

    Android显示图片时,一般先根据屏幕的宽度、从服务器拿到图片的宽高尺寸,来计算图片加载url的宽w 和高h。图...

  • Volley框架加载网络图片

    Android开发中,加载网络服务器的图片是很常用的,当然我们可以自己写服务器接口去实现,不过要做到服务器性能 优...

  • Android图片加载框架:Glide的常用用法|Squirre

    我的系列文章Android图片加载框架:Glide的常用用法|SquirrelNoteAndroid图片加载框架:...

网友评论

      本文标题:Android 加载服务器的.9图片

      本文链接:https://www.haomeiwen.com/subject/afkogctx.html