2

我一直在为我的应用程序设计/创建按钮,但是当我将它们与 Google+ 或 Facebook 等非常成功的商业应用程序进行比较时,图像质量看起来并不相同。我已经查看了模拟器和设备上的按钮。

我使用 Photoshop CS5 并始终确保我以 RGB 和 300 DPI 设计 .png。 在此处输入图像描述

然后我在 XML 中创建按钮,指定按下和聚焦状态:

about_btn.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/about_down"
          android:state_pressed="true" />
    <item android:drawable="@drawable/about_down"
          android:state_focused="true" />
    <item android:drawable="@drawable/about_up" />
</selector>

然后我在布局中使用按钮,如下所示:

主要的.xml

        <Button
            android:id="@+id/about_button_xml"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/about_btn"
            android:paddingTop="5dp" />

按钮在布局中的缩放方式是否存在某种缺陷,或者我是否将按钮保存/设计为错误的格式,我是否使用了错误的软件....我只是不确定。

您推荐什么设计规范和软件?任何建议或教程将不胜感激。

4

2 回答 2

3

有些设备无法显示 300 dpi,因此您的图像必须进行缩放。这是硬件限制。

这就是为什么您有res/drawable-xdpi, res/drawable-hdpi... 文件夹来为每个不同的 DPI 密度提供图像的原因。

有关此主题的更多信息,请点击此处

于 2013-01-23T16:18:30.773 回答
3

为 m0skit0 的回答添加一点特殊性:您可能应该以 320dpi 进行设计。把320dpi的版本放进去drawable-xhdpi,把240和160dpi的缩放版本放进drawable-hdpidrawable-mdpi。如果您不提供设备屏幕密度的资源,系统尝试放大较低密度的图像(如果提供了则缩小较高密度的图像,但它很少这样做) Photoshop,并且无法判断如何在必要时清晰地缩放图像的奇数部分)。

如果您只在文件夹中提供图像drawable,系统将出于历史原因假定它是 160dpi - 这几乎肯定不是您想要的;您最终会得到原始图像的模糊、过大和放大版本。

具体来说:一个 100px 的图像drawable-mdpi或只是普通drawable的图像将使用缩放在 xhdpi 屏幕上呈现为 200px 的图像。如果你真的将~320dpi 的图像设计为 100px,那么正确的做法是将 100px 版本放入 中drawable-xhdpi,将 50px 版本放入 中drawable-mdpi,将 75px 版本放入drawable-hdpi.

谷歌在他们的网站上写了很多关于这个的文章;查看他们的设计师信息开发信息。视觉上:

缩放图标 (来自上述 Android Designer 网站的CC Attribution 2.5许可图像)。

于 2013-01-23T16:22:58.400 回答