最近一个困扰很久的问题,渐变效果的png图片,设置为控件图片或background时,在eclipse上看着没有什么问题,但是在设备上运行时,可以看到明显的一圈圈的轮廓线,图片严重失真。
在网上google了一下似乎这个问题很多人遇到,找到一种解释是Android设备display默认是采用16-bits color palette来表示所有颜色,因此对于带alpha值的32位png图片会出现显示失真。
这个问题有两种解决方法:
1.第一种方法最简单直接(推荐),设置需要显示Activity的PixelFormat,
getWindow().setFormat(PixelFormat.RGBA_8888);
RGBA_8888为android的一种32位颜色格式,R,G,B,A分别用八位表示,Android默认格式是PixelFormat.OPAQUE,其是不带Alpha值的。设置之后可以看到图片的显示效果就和在PC上看到一样,不会出现带状的轮廓线了。
2.第二种方法比较麻烦,就是将你需要要显示的view设置为一个surfaceview,这样也可以达到同样的显示效果,但这种方法代价较大,不推荐。
Reference:
[1].http://www.gotow.net/creative/wordpress/?p=79
[2].http://stuffthathappens.com/blog/2010/06/04/android-color-banding/
分享到:
相关推荐
本资源包主要包含了一系列适用于Android开发的常用.png格式图片,这些图片经过精心设计,旨在满足开发者在构建应用程序时的多种需求。.png(Portable Network Graphics)是一种无损压缩的位图格式,因其高质量、透明...
本文将深入探讨“手机图标”,特别是针对Android平台的PNG格式图标,并结合Windows风格的设计原则。 首先,我们要了解Android平台的图标设计。Android系统采用的是PNG(Portable Network Graphics)格式的图标,这...
1. **图片格式选择**:Android支持多种图片格式,如PNG、JPEG、GIF等。PNG适用于需要透明背景或高质量无损图像的情况,JPEG适用于颜色丰富但不需透明度的图像,GIF则用于动态图片。开发者应根据需求选择合适的格式,...
Android平台中的".9图",全称为"Nine-Patch"图像,是一种特殊类型的PNG图片,用于解决在不同分辨率设备上控件拉伸时的图形失真问题。.9.png图片的使用能够确保图片在横向和纵向拉伸时保持原始图像的细节,如渐变和...
3. **Nine-Patch**:这是一种特殊的PNG图片格式,允许图片在特定区域拉伸而不失真,常用于按钮、背景图等需要自适应大小的元素。 4. **Drawable资源**:在Android中,图片通常存储在`res/drawable`目录下,并按密度...
当这个图片被用作TextView的背景并随着文本内容的变化而自动调整大小时,图片会因完全拉伸而失真,导致四个角模糊、阴影扩大、渐变效果消失,以及文本超出消息框范围。 为了解决这个问题,我们需要使用`.9.png`格式...
在实际项目中,`.9.png`图片的使用能够显著提高应用的视觉质量,减少由于拉伸导致的图像失真问题。同时,由于只需要一套切图即可适配多种分辨率,这也有助于减小应用的体积,降低开发复杂性。 总之,`.9.png`图片是...
在Android界面设计中,`.9.png`是一种特殊格式的图片,用于解决在不同分辨率设备上显示时的拉伸和压缩问题。`.9.png`的主要优点是它可以明确指示哪些区域可以拉伸,哪些区域应保持不变,同时指定内容区域的位置,...
5. **九宫格图(9-patch)**:虽然未明确提及,但在Android开发中,9-patch图片是一种特殊格式,允许图片在水平和垂直方向上拉伸而不失真。如果这些透明图片包含9-patch信息,那么它们可以用于需要自适应大小的区域...
在Android开发中,`drawable`资源是至关重要的组成部分,它主要负责存储应用程序中使用的各种图形元素,如图标、背景图片等。本知识点将深入探讨`drawable`资源的使用、分类和适应不同屏幕密度的重要性。 首先,`...
7. **Nine-Patch** 图片:Nine-Patch是一种特殊的PNG图片格式,允许图片在水平和垂直方向上拉伸而不失真。源码中可能展示了如何创建和使用Nine-Patch图片,以适应不同尺寸的视图。 通过对这些源码的深入学习,...
15. **图像拉伸**:保持图片比例的拉伸,防止失真,适用于背景填充或适应不同屏幕尺寸。 16. **图片压缩**:优化内存占用和网络传输,使用Bitmap的compress方法或第三方库如Pngquant、TinyPNG等。 17. **色彩空间...
PNG图标通常被用来表示应用程序、文件类型、操作状态等,其特点是清晰度高,色彩丰富,并且支持透明背景。 在IT行业中,PNG图标的应用非常广泛,以下是一些相关的知识点: 1. **PNG格式的优势**:PNG支持24位颜色...
顶部栏目的背景,如果只是简单的渐变,切一条即可由开发人员拉伸;但如果背景是复杂的花纹,就需要完整切图以防止拉伸失真。此外,文字大小和行间距的标注也有助于开发者精确地复制设计稿上的字体效果。 总之,...
本文将深入探讨五种有效的Android UI设计技巧,包括使用`include`标签包含共享UI设计、实现渐变效果、灵活运用`styles.xml`文件、自定义按钮显示效果以及实现无失真图片拉伸等。 #### 1. 使用`include`标签包含共享...
相较于传统的位图图像(如PNG或JPEG),SVG具有更小的文件大小,更易于处理,而且不会因放大而失真。本文将详细介绍如何在Android应用中使用SVG来实现炫酷的动画效果。 1. **SVG基础知识** SVG是一种基于XML的图形...
9. **图标命名规范**:Android要求图标文件名遵循一定的命名规则,例如 launcher_icon_hdpi.png、launcher_icon_xhdpi.png 等,这有助于系统正确地识别和加载图标。 通过深入理解和实践以上知识点,初学者能够有效...
实现无失真图片拉伸(Nine-Patch图片处理) 在Android中,Nine-Patch是一种特殊的图片格式,用于实现图片的拉伸和缩放而不会导致图像失真。 **实现步骤:** 1. **准备图片素材**:使用画图软件制作需要拉伸的...