`

android获取编译之后的点9图片

阅读更多

        今天要给桌面做一个功能,给一个View加个背景,该背景图为点9图片,但是图片的位置不在我们的apk。

        于是我先写接口,将图片放到res/drawable的目录下,无论是使用View.setBackgroundResource(resID)还是使用View.setBackgroundDrawable(drawable)都可以显示正常,于是我信心满满的就以为大功告成了,整个人都飘起来了呢。

        然而,当我使用从外部引入的点9图片时(反正就是不在项目内,从外部以流的形式得到一个bitmap),看到bitmap我就很高兴了,因为我可以很熟练的使用new 一个BitmapDrawable来设置一个View的背景,可是好戏一般都在后头,我得到的这个bitmap居然是将原本的3*3的图片平铺了,也就是说本来只要最中间一个部位的,结果9个宫格的值都给取上了。问了同事才知道外部的点9图片需要编译之后才能被识别,那么怎么编译呢?

 

 就我个人而言,只知道两种:

一、通过编译程序,解压apk

        1、将你的点9图片放到项目的res/drawable-**目录下;

        2、得到加好图片之后的apk(eclipse右击运行,或者eclipse右击->Android Tools->Export ...或者使用独  有的编译环境编译,反正得到apk即可)

        3、用解压软件解压apk文件,解压之后即可找到对应的res/drawable/你所需要的点9图片

此时可以发现我原本3*3的图片变成了1*1的图片了,而且size也变小了很多。

 

二、通过android build tools aapt

该功能是谷歌已经准备好了的,就在sdk/build-tools/android-***目录下(Windows环境下,步骤):

        1、cd到自己的sdk/build-tools/android-***目录下,如我的:C:\1.eclipseWithSDK\adt-bundle-windows-x86-20140702\sdk\build-tools\android-4.4W 可以看到里面有个文件是aapt.exe

        2、准备好你要编译的文件,最好将所有的要编译的都放到一个文件夹下,如我的放在F:\test目录下,该目录下有一张点9图“gn_launcher_main_menu_bg.9.png”

        3、创建一个你要存放目标文件的目录,例如F:\test2 (实践证明,这个文件夹必须在运行编译之前建好);

        4、编译:aapt.exe c -v -S F:\test -C F:\test2

之后便可以看到test中的需要编译的图片都编译到test2中了,而且大小尺寸都有改变



 

 原文地址:http://flycatdeng.iteye.com/blog/2241414

  • 大小: 5.6 KB
分享到:
评论

相关推荐

    android安卓反编译

    一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件 下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下, 打开命令行界面(运行-CMD...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Android开发资料合集-World版!

    9.74、从GALLERY选取图片 303 9.75、打开录音机 303 9.76、语音朗读 303 9.77、手机获取视频流显示在电脑上 305 9.78、蓝牙的使用 313 9.79、一个很好的加密解密字符串 316 9.80、DRAWABLE、BITMAP、BYTE[]之间的...

    Android 开发技巧

    9.74、从GALLERY选取图片 303 9.75、打开录音机 303 9.76、语音朗读 303 9.77、手机获取视频流显示在电脑上 305 9.78、蓝牙的使用 313 9.79、一个很好的加密解密字符串 316 9.80、DRAWABLE、BITMAP、BYTE[]之间的...

    EA-Code解析(EA极光 - 中文安卓开发工具源码-易语言

    在编译时根据GetJar和GetLib获取执行和依赖的其他文件,最终完成编译。 在这里,支持库实际上做到了一个桥接,将Jar与EA-Code连接了起来。 代码图片: 窗口设计器,项目管理,右侧组件列表 编译过程:

    易语言-EA-Code解析(EA极光 - 中文安卓开发工具)

    编译过程,编译开始时,将开始分析源码,将源码进行处理,处理的过程实际上是作为了一种替换,将原本写好的代码,根据JAVA与Android的规范进行替换,将代码替换为符合标准的java代码,之后调用java编译器进行编译。...

    JAVA上百实例源码以及开源项目

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

    JAVA上百实例源码以及开源项目源代码

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

    r40_tinav2.1_最终验证通过_使用CB-S来验证OV5640有横条纹fpscamera+SPI2.0成功_20171114_1443没有外层目录.7z

    除了ov5640.c之外,其它的驱动都不编译,节省编译时间! W:\ov5640_spi20_r40t\lichee\linux-3.10\drivers\media\platform\sunxi-vfe\device\Makefile obj-m += ov5640.o #obj-m += ov2640.o #obj-m += ov7736.o #...

Global site tag (gtag.js) - Google Analytics