使用9Patch图片作为背景
将图片作为View组件的背景时,当View中要呈现的文字内容太多时,Android会自动缩放整张图片,以保证背景图片能覆盖整个View。但这种缩放图片的效果可能并不好。可能存在的情况是我们只想缩放图片的某个部分,这样才能保证View的视图效果。
为了实现只缩放图片中的某个部分效果,我们需要借助于9Patch图片来实现。9Patch图片是一种特殊的PNG图片,这种图片以.9.png结尾,它在原始图片四周各添加一个宽度为1像素的线条,这4条线就决定了该图片的缩放规则、内容显示规则。
左侧和上侧的直线共同决定了图片的缩放区域:以左边直线为左边界绘制矩形,它覆盖的区域可以在纵向上缩放;以上面直线为上边界绘制矩形,它覆盖的区域可以水平缩放;它们两者的交集可以在两个方向上缩放。
右侧和下侧的直线共同决定图片的内容显示区域:以右边直线为右边界绘制矩形,以下边直线为下边界绘制矩形,它们二者的交集就是图片内容显示区域。
Android为制作9Patch图片提供了draw9patch工具,该工具位于Android SDK安装路径的tools目录下,进入该目录双击draw9patch.bat文件,即可启动该工具。
启动draw9patch工具之后,通过工具主菜单上的”File”-“Open 9-patch”菜单项打开一张PNG图片,然后通过该工具定义图片的缩放区域和内容显示区域。
如下图两个类似于QQ显示聊天信息的消息文本:
显示左侧聊天信息:
显示右侧聊天信息:
这样就可以定义聊天信息的布局文件了:
左侧:
<TextViewandroid:id="@+id/textview_chat_text_left"android:layout_width="wrap_content"android:layout_height="wrap_content"//chat_text_left.9.png为上面的左侧9Patch图片android:background="@drawable/chat_text_left"android:gravity="center_vertical"android:maxWidth="270dp"android:text="Chat_Left_Text"android:textAppearance="?android:attr/textAppearanceLarge"/>
使用9Patch图片作为背景相关推荐
- android 9patch 漏洞,Android 9patch 图片解析堆溢出漏洞分析(CVE-2015-1532)
[前言] 日前谷歌公开了一个今年1月份更新的漏洞.这个漏洞修复了一个存在于Android 5.1版本以下图片渲染的问题,可以查看相关链接. 9patch是Android上特有的一种图片格式,就是在普通 ...
- [转]【Android】9-patch图片以及例子说明
1.何为9-patch? NinePatch图片以*.9.png结尾,和普通图片(png图片)的区别是四周多了一个边框(如下图所示): 采用NinePatch图片做背景,可使背景随着内容的拉伸(缩小) ...
- android 9图片报错,Android2.1加载9Patch图片运行后报错
今天遇到一个很无语的问题,竟然是9Patch图片上多加了光晕效果. 因为需要自定义Button,所以请用了9Patch图片,而且图片上面还有一点光晕效果,同样也被拉伸了,在2.2的系统上面正常能跑,2 ...
- 图片作为背景并且是链接的写法(背景图片加链接)
图片作为背景,并且是链接的写法.例如网站的logo图片.例如:土豆的logo图片 <a title="土豆网 tudou.com 每个人都是生活的导演" href=" ...
- 图片作为背景的相关方法
1.图片作为背景: (1)当图片作为背景: background-size:100% 100%; //设置百分比使图片自适应大小. background-size:cover;/最长边适应 backg ...
- php网页怎么设置背景图片大全唯美,html文档中怎么把图片作为背景?
在html中,可以通过给body标签设置css background或background-image样式来把图片作为背景,语法格式"background/background-image: ...
- html中如何将图片作为背景,将背景透明而网页内容不透明
目录 文章目录 前言 一.这种方法适用在那种场景? 二.使用步骤 1.作为全屏背景 2.部分区域背景 总结 前言 许多小伙伴在做前端背景时,改变透明度时会让页面的其他内容都变得透明,或者直接使用了ba ...
- android 画板(选择图片作为背景并保存)
我看了一下网上画板的写法有很多种,这篇文章的写法就是简单便捷,个人觉得不错,大家可以参考一下, http://blog.csdn.net/qq_31530015/article/details/511 ...
- Android中9-patch图片的总结
上周开始,自己算是第一次真正在项目中开发Android,和iOS开发的大致思想是一致的,但是不得不说,开源的东西很伟大,SDK的很多地方是iOS开发无法比拟的.今天在项目中需要用到9-patch图片做 ...
最新文章
- 【Java入门提高篇】Day6 Java内部类——成员内部类
- 一个好的java博客
- 清理mysql创建的游戏_Linux定时清理游戏log及mysql定时任务删除游戏日志数据的步骤...
- 大智慧数据文件python_Python 自动化测试(四):数据驱动
- matlab simulink 直线一级倒立摆控制方法研究 状态观测
- web性能测试分析-工具篇 (转载)
- Python代码打印出9*9 九九乘法表
- Linux centosVMware Apache 配置防盗链、访问控制Directory、访问控制FilesMatch
- 2021ICPC(澳门) - LCS Spanning Tree(广义后缀自动机)
- 循环语句:For循环
- Uboot 启动流程分析
- 为传递函数自动设定PID参数——pidtune学习笔记
- gtx1050ti最稳定的驱动_【硬件资讯】持续霸榜经久不衰?四岁高龄的GTX1060仍为Steam最受欢迎显卡!...
- UDK2017下载及编译
- 操作系统课程设计之页面置换算法(流程模拟)
- 纬地道路纵断面设计教程_纬地道路辅助设计系统教程 (纵断面设计).doc
- 计算机专业sci二区论文难吗,SCI二区论文发表难度大吗
- 后盾网向军零基础学PHP视频教程
- MTK DDR进行ETT之后的压力测试--进行压力测试
- IEEE浮点数尾数向偶舍入-四舍六入五成双
热门文章
- 2021浙江高考成绩名次查询,2020年浙江高考成绩位次排名及一分一段表查询
- Hive开发人员如何提升?
- OpenCV_13 图像分割与修复
- php 常用函数总结
- 变频控制与移相控制组成的混合式控制全桥LLC谐振变换器仿真(PFM+PSM混合控制) 输出电压闭环控制,软开关,宽范围
- php能做定时关机吗,window_win10怎么定时关机?Win10系统定时关机命令使用方法详解,对于电脑用户来说,定时关机 - phpStudy...
- [逐笔数据分析工具分享]如何分析股票逐笔数据
- 程序员如何推动个人职业发展
- element-ui 表格组件设置最大高度后 宽度无限拉长问题
- [转贴]无线传感网络技术逐鹿中原 中国”龙” 大战 美国”弓”