关于点九图的一些使用(踩坑)经验
网上有很多关于点九图的使用,这里不一一叙述,只要记住一点,点九图是用来给简单可拉伸的适配方案。先看效果图(手机1920X1080):
图一 | 图二 |
---|---|
再看代码
图一:
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/n_**_show22"
android:text="drawable/n_**_show22"
android:textColor="@android:color/holo_red_dark" />
图二:
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/n_**_show22"
android:gravity="center"
android:text="drawable/n_**_show22"
android:textColor="@android:color/holo_red_dark" />
而图二与图一的差别就是每一个TextView多了一个 android:gravity=“center”
其中第一块 图是一个899X146 的 png图片(老项目的做法,仅作示例),而第二个图是40X40的一个图片,而出现不同效果的原因想必部分看官已经知道了,没反应过来的请看下面:
看到括号里面的字没,现在大部分的点九图介绍都是说是放在drawable文件夹下的一个,但是没有介绍点九图 和 不同的尺寸文件夹会发生什么样的化学反应,原理我就不说了,反正我也不知道,给大家分享一下我的结论吧:
- 点九图来源图使用尺寸小的,填充部分尽量由拉伸而来,如果用比较大的尺寸的话一定要注意填充区域,像图中第一部分的第四张图内容区域就直接被挤到没有了
- 实在要用大图的话一定要注意填充位置,像放在xxh中的图片经历的过程是:先图片压缩到最小尺寸(drawable-xxhdpi–>drawable-mdpi)–>在点九图中标记位置进行拉伸,所以填充位置会有问题(图一中后面三个,尤其是有一个没有位置填充内容了)
- 点九图不是以 .9.png 结尾四边都带黑边的图片文件(这一点让UI测试过,他给的图片四边加1px黑边AS识别不出来,所以老老实实自己做吧,不排除有老UI会做)
- 对称拉伸如下图,在点九图左上边长按拖动便可创造一个可拉伸区域,每个可拉伸区域的实际上在成果中是一样宽度的,未选中区域则是留下来可以操纵下方箭头的实际位置,具体自己动手试试就知道了,至于制作点九图的入门方法请自行网上搜索,AndroidStudio选中图片是可以直接做的,这里就不赘述了。
要是加入点九图编译报错的话可能是AS的文件检查不给过,直接在gradle加入以下即可
android {
...
aaptOptions {
cruncherEnabled = false
useNewCruncher = false
}
}