我有一个图形设计师帮助我进行UI开发。我们首先使用我的Nexus One(800x485)拍摄当前UI的截屏。然后他在Photoshop中覆盖新的艺术品到旧的截屏上,并创建透明的PNG文件。然后我将其插入我的应用程序中,但令我失望的是这些图片显示得又大又模糊(大约比原始大小大35%)。当我检查这些图片时,它们是以72 dpi创建的,所以我真的不知道为什么会出现这种情况。有什么想法吗?
您需要将图形放置在与目标屏幕正确配置的目录中。如果它们是为N1设计的,则800x480屏幕是高密度屏幕,因此图形需要放入drawable-hdpi中。不要放在通用的drawable目录中,因为该目录默认为mdpi,仅用于向后兼容。
我修改了我的答案,因为之前的不正确。
另一个想法,你是如何处理你的绘制的? (如果你使用自定义视图绘制,如果这个方法无效,你可以发布代码)。
我问这个问题是因为在绘制时有一个陷阱:
你是否在使用
bitmap.getScaledWidth
而不是
bitmap.getWidth
这可能会导致图像不精确/更大。
我目前想到的想法是:(通过示例更容易解释):
您有一个100*100的图像
您显示
您捕获它
您编辑它并使其漂亮
您重新注入它
您显示它,但由于您在高分辨率上,dp会缩放它并给它一个糟糕的外观
我不知道我是否表达得很清楚。但如果您为显示使用自定义视图,则应检查您的比例。
android:src="@drawable/n_logo_big"
。但是无论我使用src
还是background
,图像都会变得模糊和大。再次强调 - 我通过DDMS对原始艺术品进行快照,艺术家在原始截图的顶部添加他的艺术品(以确保他做得正确),然后抓取新层 - 将其导出为透明PNG,我将其插入,结果就是它变得又大又模糊... - Bostone
drawable
简单地重命名为drawable-hdpi
,问题立刻解决了!不用多说,我还会添加LDPI和MDPI目录的。 - Bostone