2010-12-20 2 views
13

私は1x1ウィジェットを作成していますが、何をしようとしても、ちょっとした背景イメージがきれいに見えません。私は見つけることができるすべてのリソースについて読んだが、まだ勝つことはできない。1x1 Androidウィジェット用の鮮明な背景イメージを作成するには?

私はHTC Desire/Nexus 1用に設計しており、Photoshopでバックグラウンドを作成するときに、dpi/height/width(現在は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" 
/> 

任意の助けいただければ幸いです。

答えて

18

GoogleのSupporting Multiple Screen Sizes文書をご覧ください。基本的にここで起こっているのは、Android搭載端末の画面のピクセル密度が異なることです。これらは、低、中、高(ldpi、mdpi、hdpi)に分類されます。アセットの大きさが画面のサイズが大きくなるほど大きくなければ、適切なサイズに吹き飛ばされます。これはおそらくあなたに起こっていることです。

Nexus Oneには、およそ250のDPIがあり、これをhdpiクラスに入れます。あなたの1x1ウィジェットのdpを計算するには、(セル数* 74) - 2のgoogle式を使用すると、ウィジェットの寸法は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 

はあなたの資産を作成するために、これらの式を使用します鮮明な画像を取得する必要があります。

+3

ありがとうございます。何らかの理由で、Googleのドキュメントが私のために沈んだだけではありませんでした。私はあなたの方程式を取り出し、簡単な再利用のためのWebApp/Calculatorを作成しました:http://android.npike.net/widgetcalculator/ – NPike

関連する問題