我发现了如何处理Android常规PNG的主要思想。
假设我在计算机中创建了一个大小为60 * 120px的图标。我知道对于hdpi(800 * 480px),我需要将其除以1.5以得到正确的dp-因此它将为40 * 80dp。
到目前为止,很好-但是-当我需要定义一个9补丁以免被“像素化”时会发生什么。问题是我的android系统中的所有9补丁文件都看起来像是像素化的-我确信这是因为文件中没有定义“将其压缩” 1.5以使其很好地显示9.PNG。
我想念什么?对于基本上具有可变高度和宽度的文件,我需要怎么做才能获得正确的dp?
最佳答案
那么您需要为hdpi和mdpi提供2个单独的图标。我通常将它们放置在hdpi photoshop文件中,并从那里提取它们(通过缩放hdpi,将其中一个png作为hdpi,将一个mdpi作为mdpi-最好将向量图形而不是常规图像从hdpi图形中缩放1/3。 ),而且这样一来,我几乎不必为布局内的图像输入宽度和高度限制,因为它看起来与photoshop的布局完全一样。我只是将其设置为包装内容。就制作.9而言,您只需要执行与常规png相同的过程,但是通过draw9patch工具定义一个可以缩放的区域,以防需要重新缩放.9的情况。
看看例如按钮的制作方法。
您有一个9,它具有按钮的正常高度,但只是定义了一个可以缩放的区域(按钮的中间),以防按钮被高度或宽度拉伸,这意味着中间将被缩放,但是由于其颜色不是图像,它不会扭曲外观,但是无论按钮有多大,按钮的边缘始终保持不变并且永远不会被拉伸。