android .9图片引起的编译错误,关于Android Studio中点9图的编译错误问题

Android中的点9图想必大家都非常熟悉了,能够指定背景图片的缩放区域和文本内容的显示区域,常见如QQ聊天界面的背景气泡这种文本内容不固定并需要适配的应用场景。

这里也给大家准备了一张图,详细介绍了一下“Android设计中的.9.png”,大家可以点击放大查看:

cb3db3a0bd0d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Android设计中的.9.png.png

以前在使用Eclipse时候很少会出现点9图的编译错误问题,但是在转向Android Studio的过程中,你可能会遇到。比如你将Eclipse项目转化为Android Studio项目,或者在自己的项目中引入点9图,然后Clean编译,结果在Messages控台中出现了如下错误提示:

Error:Execution failed for task ':app:mergeDebugResources'.

> Some file crunching failed, see logs for details

crunching failed,根据错误信息,只能看出某些文件计算失败,如果不知道这里面的道道,还真找不到错误的根源。其实,这里就是点9图在Android Studio中的使用出现了问题。

Android Studio对点9图的规范要求十分严格,控制缩放区域和内容区域的四边黑线一条都不能少,如果缺少一条,就会出现上述错误。

Android Studio内嵌了SDK中的draw9Patch工具,可以直接打开点9图并编辑预览,只需要将引入的点9图四边黑线按要求补全,然后重新Clean一下,上述错误就不会出现了。

虽然在布局文件中,仍然会出现代码红色错误提示,但却不会影响正常编译运行。当然有强迫症的我对于这一点表示很纠结,如果大家有什么解决办法一定要留言告之,不胜感激。

补充一点,关于在Android Studio中点9图不规范的编译错误问题,网上也提供了另外一种解决方案,打开项目module目录下build.gradle文件,在buildToolsVersion语句下面添加如下两行代码:

aaptOptions.cruncherEnabled = false

aaptOptions.useNewCruncher = false

但是经过测试验证,除了错误信息提示变得更加清晰,并自动定位和打开错误图片之外,还是不能绕过编译这一关,仍然需要修改点9图片,补全点9图的四边黑线,不知大家有没有尝试过呢,欢迎交流讨论。

SQL Server中,当你尝试将一个字符串二进制数据插入到一个字段中,而该字段的长度不足以容纳整个数据时,会出现“将截断字符串二进制数据”的错误。这个错误通常是由于以下几种原因引起的: 1. **字段长度不足**:你尝试插入的字符串长度超过了目标字段的定义长度。例如,目标字段定义为`VARCHAR(10)`,而你尝试插入一个长度为20的字符串。 2. **数据类型不匹配**:你尝试插入的数据类型与目标字段的数据类型不兼容。例如,目标字段是`INT`类型,而你尝试插入一个字符串。 3. **数据转换问题**:在数据插入过程中,数据类型转换导致了数据截断。例如,将`NVARCHAR`类型的数据插入到`VARCHAR`类型的字段中。 要解决这个问题,你可以采取以下几种措施: 1. **增加字段长度**:检查目标字段的定义长度,并根据需要增加长度。例如,将`VARCHAR(10)`改为`VARCHAR(50)`。 2. **检查数据类型**:确保插入的数据类型与目标字段的数据类型兼容。如果需要,进行适当的数据类型转换。 3. **数据验证**:在插入数据之前,验证数据的长度和类型,确保它们符合目标字段的定义。 例如,假设你有一个表`Employees`,其中有一个字段`Name`定义为`VARCHAR(10)`,而你尝试插入一个长度为20的字符串: ```sql INSERT INTO Employees (Name) VALUES ('ThisIsAVeryLongName'); ``` 这个操作会触发“将截断字符串二进制数据”的错误。要解决这个问题,你可以增加`Name`字段的长度: ```sql ALTER TABLE Employees ALTER COLUMN Name VARCHAR(50); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值