如何为1x1 Android小部件创建清晰的背景图像?

如何为1x1 Android小部件创建清晰的背景图像?,android,graphics,android-widget,widget,photoshop,Android,Graphics,Android Widget,Widget,Photoshop,我正在创建一个1x1小部件,无论我做什么尝试,我都无法使背景图像看起来既漂亮又清晰。我已经阅读了所有我能找到的资源,但我仍然无法获胜 我是为HTC Desire/Nexus 1设计的,希望有人能告诉我在Photoshop中创建背景时使用的dpi/高度/宽度(目前使用72/100/80)。我会担心其他设备的决议,一旦我可以得到它好看的我的测试设备第一 另外,如果有什么特别的东西需要放在@layout/main.xml和Widget_Provider.xml文件中。我根本找不到1x1小工具的任何示例

我正在创建一个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"
/>


任何帮助都将不胜感激。

您可能想看看谷歌的文档。基本上,Android设备上的屏幕有不同的像素密度。这些被分类为低、中、高(ldpi、mdpi、hdpi)。如果一个资产不够大,无法容纳更大密度的屏幕,那么它就会被放大到合适的大小——这可能就是发生在你身上的事情

NexusOne有一个大约250的DPI,这将它归入hdpi类。使用google公式(单元格数*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

使用这些公式创建您的资产,您将获得清晰的图像。

感谢您的解释。由于某种原因,谷歌文档并没有让我理解。。。。我拿了你的方程式,制作了一个快速的webapp/计算器,便于重用: