2011-08-18 5 views
115

संभव डुप्लिकेट:
Difference of px, dp, dip and sp in androidहमें एंड्रॉइड में फ़ॉन्ट आकारों के लिए एसपी का उपयोग क्यों करना चाहिए?

मैं एंड्रॉयड के लिए नया हूँ और मुझे लगता है कि ट्यूटोरियल में this tutorial

बाहर कोशिश कर रहा था, वे textSize विशेषता के लिए इकाई "sp" का इस्तेमाल किया और अन्य विशेषताओं के लिए "डीपी"।

कृपया मुझे बताएं कि एसपी कैसे डीपी से अलग है?

+0

[यहाँ है। इसलिए हम उदाहरण के साथ फोंट के लिए सपा का उपयोग करना चाहिए] (http://www.singhajit.com/tutorial-1-android-ui-desgin-and-styling/) –

उत्तर

219

dp में निरंतर अनुपात संक्रमण px: dp = px * ratio है। जहां ratio किसी भी विशेष डिवाइस पर कभी नहीं बदलेगा।

जबकि sp (स्केल के लिए एस) स्केलेबल अनुपात है: sp = px * ratio * scale। जहां ratio कभी नहीं बदलता है, लेकिन scale उपयोगकर्ता कॉन्फ़िगर करने योग्य है। यह scale उन लोगों द्वारा उपयोग किया जा सकता है जिन्हें बड़े फ़ॉन्ट आकार की आवश्यकता होती है, उदाहरण के लिए, डिवाइस को अधिक आराम से उपयोग करने के लिए।

+21

यह गलत लगता है, 'dp' पर आधारित हमारे लेआउट क्यों हैं लेकिन उस लेआउट के अंदर दिए गए सभी पाठ उपयोगकर्ता की 'sp' सेटिंग्स में स्केल किए गए हैं? यदि पाठ बड़ा हो जाता है, तो क्या युक्त दृश्य भी उन्हें समायोजित करने के लिए बढ़ता नहीं है? – chakrit

+12

तो, सरल बनाने के लिए: 'sp = dp * scale' –

+2

@chakrit आप अपने लेआउट बनाने के लिए 'sp' का भी उपयोग कर सकते हैं। – Hassaan

6

एसपी डिवाइस के सामान्य फ़ॉन्ट आकार के संबंध में स्वतंत्र रूप से स्केल किया जाता है। http://developer.android.com/guide/practices/screens_support.html

इसी तरह, आप एसपी (पैमाने स्वतंत्र पिक्सेल) पाठ आकार को परिभाषित करने को प्राथमिकता देनी चाहिए। स्पेल स्केल कारक उपयोगकर्ता सेटिंग पर निर्भर करता है और सिस्टम आकार को स्केल करता है जैसा कि यह डीपी के लिए करता है।

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

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