我正在创建一个 1x1 小部件,无论我尝试什么,我都无法让背景图像看起来漂亮且清晰。我已经阅读了几乎所有我能找到的资源,但我仍然无法获胜。
我正在为 HTC Desire/Nexus 1 进行设计,希望有人告诉我在 Photoshop 中创建背景时要使用什么 dpi/高度/宽度(当前使用 72/100/80)。一旦我能首先在我的测试设备上看起来不错,我就会担心其他设备的分辨率。
另外,如果有什么特别的,我需要放入 @layout/main.xml 和 Widget_Provider.xml 文件。我根本找不到 1x1 小工具的任何示例,因此有以下内容:
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget"
android:layout_width="fill_parent"
android:orientation="vertical"
android:background="@drawable/background"
android:layout_gravity="center"
android:layout_height="wrap_content">
Widget_Provider.xml
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="72dip"
android:minHeight="72dip"
android:updatePeriodMillis="6000000"
android:initialLayout="@layout/main"
/>
任何帮助将不胜感激。
你可能想看看谷歌的支持多种屏幕尺寸 http://developer.android.com/guide/practices/screens_support.html文档。基本上,这里发生的是 Android 设备上的屏幕具有不同的像素密度。它们分为低、中、高(ldpi、mdpi、hdpi)。如果某个资源对于更大密度的屏幕来说不够大,它就会被放大到适当的尺寸 - 这可能就是您正在发生的情况。
Nexus One 的 DPI 约为 250,属于 hdpi 级别。使用谷歌公式(单元格数量 * 74)- 2 计算 1x1 小部件的 dp 将使小部件尺寸为 72x72 dp。
从 dp 到像素的转换为:
pixels = dp * (density / 160)
因此,对于 72x72 dp 图像,基于密度的相应图像尺寸为:
ldpi (120 DPI) = 72 * (120 / 160) == 54 x 54 pixels
mdpi (160 DPI) = 72 * (160 / 160) == 72 x 72 pixels
hdpi (240 DPI) = 72 * (240 / 160) == 108 x 108 pixels
xhdpi (320 DPI) = 72 * (320 / 160) == 144 x 144 pixels
使用这些公式创建您的资产,您应该获得清晰的图像。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)