का उपयोग किए बिना पिक्सेल इकाइयों (जैसे एसपी, पीएक्स, डीपी) निर्दिष्ट करना एंड्रॉइड कोड में पिक्सेल इकाई निर्दिष्ट करना संभव है। मैं क्या मतलब है, मैं एक लेआउट है और मैं आकार 20dp होना चाहता हूँ कहते हैं, फिर वहाँ एक लेआउट एक्सएमएलएंड्रॉइड एक्सएमएल
6
A
उत्तर
26
लेखन में एक ध्यान में रखते हुए बिना ऐसा करने के लिए किसी भी तरह से है:
DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
float dp = 20f;
float fpixels = metrics.density * dp;
int pixels = (int) (fpixels + 0.5f);
में एक गतिविधि, ज़ाहिर है, आप getContext()
छोड़ देते हैं।
स्केल किए गए पिक्सल (sp
) से पिक्सेल में कनवर्ट करने के लिए, metrics.density
के बजाय बस metrics.scaledDensity
का उपयोग करें।
संपादित करें: जैसा कि @Santosh's answer अंक बाहर है, तो आप एक ही बात उपयोगिता वर्ग TypedValue
उपयोग कर सकते हैं: sp
लिए
DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
float dp = 20f;
float fpixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, metrics);
int pixels = Math.round(fpixels);
, TypedValue.COMPLEX_UNIT_DIP
के लिए स्थानापन्न TypedValue.COMPLEX_UNIT_SP
।
आंतरिक रूप से, applyDimension()
बिल्कुल मेरे कोड के जैसा ही गणना करता है। उपयोग करने के लिए कौन सा संस्करण आपकी कोडिंग शैली का विषय है।
4
अब आप उपयोग कर सकते हैं
float pixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics());
, pixels
का मूल्य 20dp
TypedValue अन्य इसी तरह के तरीकों कि रूपांतरण
संबंधित मुद्दे
- 1. एंड्रॉइड एक्सएमएल
- 2. एंड्रॉइड एक्सएमएल
- 3. एंड्रॉइड: एक्सएमएल
- 4. एक्सएमएल एंड्रॉइड
- 5. एंड्रॉइड - एक्सएमएल
- 6. एंड्रॉइड: एक्सएमएल
- 7. एंड्रॉइड एक्सएमएल
- 8. एंड्रॉइड एक्सएमएल
- 9. एंड्रॉइड: एक्सएमएल
- 10. मैं एंड्रॉइड एक्सएमएल
- 11. एंड्रॉइड व्यू एक्सएमएल
- 12. एंड्रॉइड: विषय/शैली/एक्सएमएल
- 13. एंड्रॉइड जेसन/एक्सएमएल एपीआई
- 14. एक्लिप्स एंड्रॉइड एक्सएमएल फाइलें
- 15. एंड्रॉइड: एक एक्सएमएल फ़ाइल
- 16. एंड्रॉइड एक्सएमएल ड्रायबल पैरामीटर
- 17. एंड्रॉइड एक्सएमएल लेआउट विशेषता एंड्रॉइड: layout_toLeftOf
- 18. एंड्रॉइड कस्टम एक्सएमएल पार्सर एंड्रॉइड नेमस्पेस
- 19. एक्सएमएल एंड्रॉइड में जेड ऑर्डर
- 20. एंड्रॉइड: सर्वश्रेष्ठ एक्सएमएल पार्सिंग लाइब्रेरी?
- 21. एंड्रॉइड एक्सएमएल से बचें "@" प्रतीक
- 22. एंड्रॉइड, एक्सएमएल में चेकबॉक्स श्रोता?
- 23. एंड्रॉइड एक्सएमएल लेआउट फ़ाइल आरजेजा
- 24. एक्सएमएल
- 25. एक्सएमएल
- 26. एक्सएमएल
- 27. एक्सएमएल
- 28. एक्सएमएल
- 29. एक्सएमएल
- 30. एक्सएमएल
में मदद तुम क्यों 0.5 जोड़ सकता हूँ शामिल करने के बराबर है? – pankajagarwal
गोल करने के लिए, यह ढांचा क्या करता है। यह सुनिश्चित करता है कि आकार कभी भी 0px नहीं होगा। –
धन्यवाद, यह अब बहुत तार्किक लगता है :) – pankajagarwal