2010-12-20 15 views
13

मैं एक 1x1 विजेट बना रहा हूं, और इससे कोई फर्क नहीं पड़ता कि मैं क्या कोशिश करता हूं, मुझे बस पृष्ठभूमि की छवि अच्छी और कुरकुरा लग रही नहीं है। मैंने बस किसी भी संसाधन के बारे में पढ़ा है जिसे मैं पा सकता हूं, फिर भी मैं जीत नहीं पा रहा हूं।1x1 एंड्रॉइड विजेट के लिए कुरकुरा पृष्ठभूमि छवि कैसे बनाएं?

मैं एचटीसी डिजायर/नेक्सस 1 के लिए डिज़ाइन कर रहा हूं, और फ़ोटोशॉप में पृष्ठभूमि बनाने के दौरान मुझे किसी को यह बताने के लिए प्यार होगा, क्या डीपीआई/ऊंचाई/चौड़ाई उपयोग करने के लिए (वर्तमान में 72/100/80 का उपयोग कर रहा है)। एक बार जब मैं इसे अपने टेस्ट डिवाइस पर अच्छा लग रहा हूं तो मैं अन्य डिवाइस संकल्पों के बारे में चिंता करूंगा।

इसके अलावा, अगर कुछ खास है तो मुझे @ लेआउट/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 दस्तावेज़ पर एक नज़र रखना चाहते हैं। मूल रूप से यहां क्या हो रहा है यह है कि एंड्रॉइड उपकरणों पर स्क्रीनों में अलग-अलग पिक्सेल घनत्व होते हैं। इन्हें निम्न, मध्यम, उच्च (एलडीपीआई, एमडीपीआई, एचडीपीआई) के रूप में वर्गीकृत किया गया है। यदि एक बड़ी घनत्व स्क्रीन के लिए कोई संपत्ति पर्याप्त नहीं है, तो यह उचित आकार तक उड़ा दी गई है - शायद यह आपके साथ क्या हो रहा है।

नेक्सस वन में 250 के आसपास कहीं डीपीआई है जो इसे एचडीपीआई कक्षा में रखता है। अपने 1x1 विजेट के लिए डीपी की गणना करने के लिए Google फॉर्मूला (कोशिकाओं * 74 की संख्या) - 2 का उपयोग करके विजेट आयाम 72x72 डीपी बना देगा।

पिक्सल डीपी से रूपांतरण है:

pixels = dp * (density/160) 
एक 72x72 डीपी छवि के लिए

तो, इसी छवि घनत्व के आधार पर आकार होगा:

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 प्रलेखन सिर्फ मेरे लिए डूब गया नहीं .... मैंने आपके समीकरणों को लिया और आसानी से पुन: उपयोग के लिए त्वरित वेबपैप/कैलकुलेटर बनाया: http://android.npike.net/widgetcalculator/ – NPike

संबंधित मुद्दे