关于Android-TV端使用.9图背景使用的一些坑

.9图制作

要求一:

名称格式必须为:文件名称.9.png。

要求二:

上下左右各留有1px的标识线区,此区内不能有半透明像素(特别注意:切图若有投影,不要泄漏到标识线区)。

要求三:

伸缩标识线与内间距标识线为不透明的纯黑色(#000000),光学标识线为不透明的纯红色(#ff0000)。

要求四:

点九图的特殊结构会导致其4个顶角处成为“绝对禁区”,这4个1像素×1像素的区域内不能有任何内容。

.9图介绍
正常情况在TextView中使用时没有问题 控制文字内容使用区域,但是如果作为背景控制子View的显示区域的话 就需要单独控制显示区域

在ViewGroup等子类中使用

 static {
        Bitmap mBitmap = BitmapFactory.decodeResource(Application.get().getResources(), R.drawable.border_bg);
        byte[] chunk = mBitmap.getNinePatchChunk();
        viewFocusBorderRect = NinePatchChunk.deserialize(chunk).mPaddings;
    } 

viewFocusBorderRect 可以获得内容控制区域大小 然后设置给view的padding即可
注意 反复调用请使用 静态代码块

特别注意 如果.9图在不同设备上的边距不一样 请放到drawable-xxhdpi 等高分辨文件夹中 这个drawable-xhdpi中会有转换差别。
字体控件不受此bug影响
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容