मैं Canvas
का उपयोग कर एक दृश्य पर एक विशिष्ट ऊंचाई (पिक्सेल में) के साथ पाठ खींचना चाहता हूं। क्या आप बस Paint.setTextSize(float)
का उपयोग पिक्सेल की संख्या के साथ कर सकते हैं या यह dp
या sp
का उपयोग कर रहा है?माप की कौन सी इकाई पेंट.सेटटेक्स्टसाइज (फ्लोट) का उपयोग करती है?
उत्तर
यह पिक्सल का उपयोग करता है, लेकिन आप इस कोड का उपयोग डीपी को परिवर्तित कर सकते हैं:
double getDPFromPixels(double pixels) {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
pixels = pixels * 0.75;
break;
case DisplayMetrics.DENSITY_MEDIUM:
//pixels = pixels * 1;
break;
case DisplayMetrics.DENSITY_HIGH:
pixels = pixels * 1.5;
break;
}
return pixels;
}
इन तरीकों में शामिल हैं DisplayMetrics
कि भविष्य एंड्रॉयड एसडीके में जोड़ा जा सकता है।
पिक्सल डुबकी के लिए:
public static float getDipFromPixels(float px) {
return TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_PX,
px,
Resources.getSystem().getDisplayMetrics()
);
}
पिक्सल डुबकी:
public static float getPixelsFromDip(float dip) {
return TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
dip,
Resources.getSystem().getDisplayMetrics()
);
}
इस तरह के तरीकों के लिए एक पिक्सल मूल्य प्राप्त करने के लिए सबसे आसान तरीका बस उपयुक्त डीपी या dimens में एसपी मान निर्धारित करने के लिए है .xml फ़ाइल और इसे इस तरह पुनः प्राप्त:
int sizeInPx = context.getResources().getDimensionPixelSize(R.dimen.sizeInSp);
आप वास्तव में 3 के आधार पर उपयोग करने के लिए उपलब्ध तरीकों है आपकी ज़रूरतें:
getDimension()
पिक्सल में एक फ्लोट देता है।getDimensionPixelSize()
पिक्सल में एक पूर्णांक देता है। यह getDimension() के समान है, लौटाए गए मान को छोड़कर निकटतम पूर्णांक मान को ROUNDED किया जाता है और यह सुनिश्चित करता है कि गैर-शून्य इनपुट मान नॉन शून्य आउटपुट मान में परिणाम (उदाहरण 0.1 को 1 के रूप में वापस किया गया है, 0 नहीं)।getDimensionPixelOffset()
पिक्सल में एक पूर्णांक देता है। यह getDimension() के समान है, लौटाए गए मान को छोड़कर TRUNCATED (यानी गोलाकार) है। परिणाम शून्य हो सकता है।
पर फ़्लोट होना चाहिए यह सबसे अच्छा जवाब है; यह सभी मौजूदा उपकरणों पर सही ढंग से काम करता है और भविष्य के उपकरणों पर काम करना जारी रखेगा (टोड डेविस के जवाब में नई घनत्व जैसे xhdpi, xxhdpi और अन्य को याद आ रही है)। यह भी अधिक लचीला है आप विभिन्न स्क्रीन आकारों (टैबलेट, आदि) के लिए वैकल्पिक dimens.xml फ़ाइल प्रदान कर सकते हैं या आवश्यकतानुसार डीपी और एसपी के बीच बदल सकते हैं। – NaxyMatt
हां, यह दैट का जवाब सबसे अच्छा जवाब है क्योंकि वंडरिंगलिंगुइस्ट कहते हैं, क्योंकि टोड डेविस के समाधान को xHigh, xxhigh और xxxhigh और टीवी मामलों में शामिल करने के लिए अद्यतन किया जाना चाहिए, जो भविष्य में आने वाले मामलों को बताते हैं कि यह जटिल है और इसके बजाय आसानी से टूटा जाएगा आईआईटी के जवाब का जो अब और भविष्य में काम करेगा, भले ही डिवाइस कभी भी आएंगे और एंड्रॉइड के रूप में समाधान काम करता है, सभी राजा डिवाइस घनत्व को संभालने की योजना है। –
- 1. माप की कौन सी इकाई Paint.setStrokeWidth() का उपयोग करती है?
- 2. एफ # माप का एक इकाई, उपाय प्रकार
- 3. माप की एफ # इकाइयां कैसे काम करती हैं?
- 4. कौन सी प्रोग्रामिंग भाषा निरंतर तरीकों का समर्थन करती है?
- 5. इकाई एक सिस्टम का परीक्षण करती है जो फ़ाइल सिस्टम का उपयोग करती है
- 6. वीबीए का उपयोग कर पावरपॉइंट स्लाइड के लिए माप की इकाई क्या है?
- 7. एमवीसी 4: कौन सी इकाई तालिका webpages_Membership
- 8. एचटीएमएल 5 जीओ एपीआई के साथ जीपीएस सटीकता निर्धारित करने के लिए माप माप इकाई का उपयोग किया जाता है?
- 9. कौन सी परिस्थितियां eval() के उपयोग की मांग करती हैं क्योंकि कोई विकल्प नहीं है?
- 10. सी # में माप की इकाइयां - लगभग
- 11. कौन सी इंटरनेट ब्लैकआउट तकनीक सबसे अच्छा काम करती है?
- 12. होल्डिंग इकाई में एक मूल्य का परीक्षण करती है
- 13. रूबी की सॉर्ट विधि किस एल्गोरिदम का उपयोग करती है?
- 14. फ्लोट * सी से सी #
- 15. सी # फ्लोट
- 16. कौन सा इकाई परीक्षण ढांचा?
- 17. कौन सा संदेश है और HTTP शब्दावली में कौन सी इकाई है?
- 18. माप की इकाइयों को व्यक्त करने के लिए सी # प्रकारों का उपयोग
- 19. इकाई फ्रेमवर्क फ्लोट डेटाटाइप को डबल
- 20. सिल्वरलाइट और डब्ल्यूपीएफ किस माप इकाइयों का उपयोग करता है?
- 21. स्मृति माप
- 22. पर्स स्ट्रिंग फ्लोट नंबर सी #
- 23. फ्लोट के लिए isdigit का उपयोग कर?
- 24. सी की कौन सी बोली उद्देश्य-सी "सख्त सुपरसेट" है?
- 25. कौन सी लिनक्स आईपीसी तकनीक का उपयोग करना है?
- 26. कौन सी सी/सी ++ हेडर फ़ाइल बीईटीई डेटा प्रकार को परिभाषित करती है?
- 27. माप की इकाइयां कैसे प्रदर्शित की जाती हैं?
- 28. कौन सी फाइल System.Configuration.ConfigurationManager.AppSettings का उपयोग कर रही है?
- 29. जावा का कौन सी धारावाहिक प्रारूप उपयोग करता है?
- 30. Mercurial का उपयोग, मैं व्यक्तिगत योगदान कैसे माप सकता हूं?
कि तेजी से जवाब देने के लिए धन्यवाद। – marzipankaiser
@ टोड डेविस - मैं कस्टम व्यू क्लास के अंदर इसका उपयोग कैसे करूं? getWindowManager() – Neil
@Neil उपयोग नहीं कर सकते - आप() '' Context' प्राप्त करने के लिए देखें की विधि 'getContext उपयोग कर सकते हैं, उसके बाद आप' Context.getSystemService (Context.WINDOW_SERVICE) '' प्राप्त करने के लिए WindowManager' कॉल कर सकते हैं। इस पर और अधिक http://developer.android.com/reference/android/view/WindowManager.html। – Tzoiker