Android Studio生成.9.png图片

本文详细介绍在Android Studio中创建.9图的方法及属性设置,用于实现图片在不同分辨率下的完美拉伸,适用于聊天记录背景框等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自  :https://blog.youkuaiyun.com/oudetu/article/details/78968067 

.9图是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png,.9图可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。.9图最常用的是聊天记录的背景框,因为一段文字长度是非固定的,背景框需要根据文字的长短来改变大小。本文是介绍在Android Studio中如何制作.9图。

.9图制作步骤

1. 选择一张扩展名为.png图片放入Drawable或者mipmap中。(注意:扩展名一定要.png,并且图片不能做压缩处理。否则有可能创建不成功。)

2. 右击图片选择 Create 9-patch file,创建图片

3. 保存刚刚创建的.9图。选择好路径(一般都放在drawable目录下)直接点OK即可。

4. 图片创建成功以后会显示在项目中,如图所示。

到这里,.9图就创建好了,是不是特别简单,但是单单创建出来还是不够,我们还要设置它的四个属性。

.9图的四个属性设置

我们先打开刚才经创建好的图片,打开之后如图所示:

左边的是我们要操作的.9图片,右边是预览图。左边图片的四个边分别代表了四个属性,拖动不同的边会设置不同的属性。四个边代表的属性分别是:

左方的黑线,指的是垂直方向的拉伸区域。垂直方向拉伸图片时,只有黑线区域内的图像会被拉伸,黑线两边的图像保持原状,这保证了上下两边的边框厚度不变。

上方的黑线,指的是水平方向的拉伸区域。水平方向拉伸图片时,只有黑线区域内的图像会被拉伸,黑线两边的图像保持原状,这保证了左右两边的边框厚度不变。

右方的黑线,指的是该图片作为控件背景时,控件内部的文字上下边界只能放在黑线区域内。这里Vertical Padding的效果就相当于android:paddingTop与android:paddingBottom。

下方的黑线,指的是该图片作为控件背景时,控件内部的文字左右边界只能放在黑线区域内。这里Horizontal Padding的效果就相当于android:paddingLeft与android:paddingRight。

下图是最后设置的结果和效果预览图:

### 使用9-Patch气泡图片Android Studio中处理和使用9-Patch气泡图片的过程相对直观。当需要创建一个能够适应不同尺寸的气泡图片时,可以通过右键单击`res/drawable`目录下的PNG图像并选择`Create 9-Patch file`选项来启动内置工具[^1]。 #### 创建9-Patch文件 一旦选择了要转换成9-Patch格式的图片(比如名为`bubble.png`),该操作会自动生成对应的`.9.png`版本,并允许编辑者定义哪些区域应该拉伸以及内容放置的位置[^3]。这一步骤至关重要,因为它决定了图片如何响应不同的布局需求而不失真。 #### 设置可拉伸区域与填充区 通过专用的图形化界面,在新打开的窗口内可以指定哪部分作为可拉伸区域(通常是在边缘绘制黑色线条表示)。同样地,也可以标记出内部的内容区,即消息文字应当显示的地方[^5]。这种灵活性使得即使原始图片较小也能很好地适配各种屏幕大小。 #### 应用于项目资源 完成上述设置后,保存修改后的9-Patch文件到项目的适当位置(通常是`res/drawable/`下)。值得注意的是,在引用这些特殊格式的图片时,无需手动添加`.9.png`扩展名;只需按照常规方式调用即可,例如在XML布局文件中使用`@drawable/bubble`这样的语法[^4]。 ```xml <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/bubble"/> ``` 这样就完成了从创建到实际使用的全过程,确保了气泡样式能够在不同设备上保持良好的视觉效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值