Android 8.0 (एपीआई लेवल 26) और उसके बाद के वर्शन के साथ,
टेक्स्ट का साइज़ सेट करने के लिए TextView
लेआउट को भरने के लिए उसे अपने-आप बड़ा या छोटा कर सकते हैं. ऐसा
TextView
की विशेषताएं और सीमाएं. इस सेटिंग से, ये काम करना आसान हो जाता है
डाइनैमिक कॉन्टेंट की मदद से, अलग-अलग स्क्रीन पर टेक्स्ट के साइज़ को ऑप्टिमाइज़ करें.
सपोर्ट लाइब्रेरी 26.0, अपने-आप साइज़ होने की सुविधा TextView
के साथ पूरी तरह काम करता है
सुविधा को Android 8.0 (एपीआई लेवल 26) या इससे पहले के वर्शन वाले डिवाइसों पर इस्तेमाल किया जा सकता है.
android.support.v4.widget
पैकेज में TextViewCompat
शामिल है
क्लास का इस्तेमाल करें.
TextView अपने-आप साइज़ बदलने की सुविधा सेट अप करें
अपने-आप साइज़ बदलने की सुविधा सेट अप करने के लिए, फ़्रेमवर्क या सहायता लाइब्रेरी का इस्तेमाल किया जा सकता है
TextView
प्रोग्राम के हिसाब से या एक्सएमएल में. यहां की यात्रा पर हूं
एक्सएमएल एट्रिब्यूट को सेट करने के लिए, प्रॉपर्टी
विंडो खोलें.
TextView
के लिए, अपने-आप साइज़ बदलने की सुविधा को तीन तरीकों से सेट अप किया जा सकता है.
नीचे दिए गए सेक्शन में इनके बारे में बताया गया है:
ध्यान दें: अगर किसी एक्सएमएल फ़ाइल में, अपने-आप साइज़ बदलने की सुविधा सेट की जाती है, तो हम
"wrap_content" वैल्यू का इस्तेमाल करके सुझाया गया के लिए
layout_width
या layout_height
एट्रिब्यूट
TextView
. ऐसा करने से
अनचाहे नतीजे.
डिफ़ॉल्ट
डिफ़ॉल्ट सेटिंग से, TextView
स्केल को अपने-आप साइज़ बदलने की सुविधा मिलती है
हॉरिज़ॉन्टल और वर्टिकल ऐक्सिस पर एक जैसा.
- प्रोग्राम के हिसाब से डिफ़ॉल्ट सेटिंग तय करने के लिए,
setAutoSizeTextTypeWithDefaults(int autoSizeTextType)
तरीका. बंद करने के लिएAUTO_SIZE_TEXT_TYPE_NONE
जोड़ें अपने-आप साइज़ बदलने की सुविधा याAUTO_SIZE_TEXT_TYPE_UNIFORM
हॉरिज़ॉन्टल और वर्टिकल ऐक्सिस को एक जैसा स्केल करें. - एक्सएमएल में डिफ़ॉल्ट सेटिंग तय करने के लिए,
android
नेमस्पेस का इस्तेमाल करें औरautoSizeTextType
एट्रिब्यूट को कोई नहीं के लिए या एक जैसा.
ध्यान दें: यूनिफ़ॉर्म के लिए डिफ़ॉल्ट डाइमेंशन
स्केलिंग minTextSize = 12sp
है,
maxTextSize = 112sp
और granularity = 1px.
<?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="match_parent" android:layout_height="200dp" android:autoSizeTextType="uniform" />
सहायता लाइब्रेरी का इस्तेमाल करके, डिफ़ॉल्ट सेटिंग तय करें
- सहायता लाइब्रेरी के ज़रिए डिफ़ॉल्ट सेटिंग को प्रोग्राम के हिसाब से तय करने के लिए,
कॉल करो
TextViewCompat.setAutoSizeTextTypeWithDefaults(TextView textview, int autoSizeTextType)
तरीका.TextView
विजेट और किसी एक टेक्स्ट टाइप का इंस्टेंस दें, जैसे किTextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE
याTextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM
. - सहायता लाइब्रेरी के ज़रिए एक्सएमएल में डिफ़ॉल्ट सेटिंग तय करने के लिए,
app
नेमस्पेस औरautoSizeTextType
सेट करें एट्रिब्यूट की वैल्यू को कोई नहीं या यूनिकोड पर सेट करना चाहिए.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="200dp" app:autoSizeTextType="uniform" /> </LinearLayout>
जानकारी का स्तर
आपके पास कम से कम और ज़्यादा से ज़्यादा टेक्स्ट साइज़ की रेंज तय करने का विकल्प होता है.
डाइमेंशन जो हर चरण का साइज़ बताता है. कॉन्टेंट बनाने
TextView
,
कम से कम और ज़्यादा से ज़्यादा साइज़ वाले एट्रिब्यूट. हर बढ़ोतरी, प्रक्रिया के चरण के तौर पर होती है
साइज़ को जानकारी के लेवल वाले एट्रिब्यूट में सेट किया गया है.
- टेक्स्ट साइज़ और डाइमेंशन की रेंज को प्रोग्राम की मदद से तय करने के लिए,
यह
setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है तरीका. ज़्यादा से ज़्यादा वैल्यू, कम से कम वैल्यू, जानकारी के बारे में पूरी जानकारी दें वैल्यू और कोई भीTypedValue
डाइमेंशन यूनिट का इस्तेमाल करता है. - एक्सएमएल में टेक्स्ट साइज़ की रेंज और डाइमेंशन तय करने के लिए,
android
का इस्तेमाल करें नेमस्पेस और सेट ये एट्रिब्यूट:- सेट करें
autoSizeTextType
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है एट्रिब्यूट की वैल्यू को none या uniform के तौर पर सबमिट करें. none वैल्यू डिफ़ॉल्ट है और uniform, हॉरिज़ॉन्टल और हॉरिज़ॉन्टल पर एक समानTextView
स्केल वर्टिकल ऐक्सिस. autoSizeMinTextSize
सेट करें,autoSizeMaxTextSize
, औरautoSizeStepGranularity
इसकी वैल्यू अपने-आप साइज़ बदलने की सुविधा के लिए, डाइमेंशन तय करने की सुविधा होती हैTextView
.
- सेट करें
<?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="match_parent" android:layout_height="200dp" android:autoSizeTextType="uniform" android:autoSizeMinTextSize="12sp" android:autoSizeMaxTextSize="100sp" android:autoSizeStepGranularity="2sp" />
सपोर्ट लाइब्रेरी का इस्तेमाल करके, जानकारी का स्तर तय करना
- इसका इस्तेमाल करके, टेक्स्ट साइज़ और डाइमेंशन की रेंज को प्रोग्राम के हिसाब से तय किया जा सकता है
सहायता लाइब्रेरी का इस्तेमाल करने के लिए,
TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
तरीका. ज़्यादा से ज़्यादा वैल्यू, सबसे कम वैल्यू, जानकारी के लेवल के बारे में पूरी वैल्यू दें. और कोई भीTypedValue
डाइमेंशन यूनिट. - सहायता सेवा की मदद से, एक्सएमएल में टेक्स्ट साइज़ की रेंज और डाइमेंशन तय करने के लिए
लाइब्रेरी से,
app
नेमस्पेस का इस्तेमाल करें औरautoSizeText
,autoSizeMinTextSize
,autoSizeMaxTextSize
, और लेआउट की एक्सएमएल फ़ाइल में,autoSizeStepGranularity
एट्रिब्यूट की वैल्यू दी गई है.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="200dp" app:autoSizeTextType="uniform" app:autoSizeMinTextSize="12sp" app:autoSizeMaxTextSize="100sp" app:autoSizeStepGranularity="2sp" /> </LinearLayout>
पहले से सेट किए गए साइज़
पहले से सेट किए गए साइज़ की मदद से, वे वैल्यू सेट की जा सकती हैं जिन्हें
TextView
, टेक्स्ट का अपने-आप साइज़ बदलने पर चुनता है.
-
प्रीसेट साइज़ का इस्तेमाल करके,
प्रोग्राम के हिसाब से
TextView
,setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
तरीका. साइज़ और कोई भीTypedValue
का कलेक्शन दें डाइमेंशन यूनिट का इस्तेमाल करें. -
प्रीसेट साइज़ का इस्तेमाल करके,
एक्सएमएल में
TextView
,android
का इस्तेमाल करें नेमस्पेस और इन एट्रिब्यूट को सेट करें:autoSizeTextType
को सेट करें एट्रिब्यूट की वैल्यू को none या uniform के तौर पर सबमिट करें. कोई भी नहीं मान डिफ़ॉल्ट होता है और uniform, हॉरिज़ॉन्टल और हॉरिज़ॉन्टल पर एक समानTextView
स्केल वर्टिकल ऐक्सिस.- सेट करें
autoSizePresetSizes
एट्रिब्यूट का इस्तेमाल करके प्रीसेट साइज़ की कैटगरी चुनी जा सकती है. अरे को इस तौर पर ऐक्सेस करने के लिए: रिसॉर्स,res/values/arrays.xml
में अरे तय करें फ़ाइल से लिए जाते हैं.
<resources> <array name="autosize_text_sizes"> <item>10sp</item> <item>12sp</item> <item>20sp</item> <item>40sp</item> <item>100sp</item> </array> </resources>
<?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="match_parent" android:layout_height="200dp" android:autoSizeTextType="uniform" android:autoSizePresetSizes="@array/autosize_text_sizes" />
सपोर्ट लाइब्रेरी का इस्तेमाल करके प्रीसेट साइज़ सेट अप करना
- प्रीसेट साइज़ का इस्तेमाल करके,
प्रोग्राम के हिसाब से
TextView
का इस्तेमाल करके, सहायता लाइब्रेरी सेTextViewCompat.setAutoSizeTextTypeUniformWithPresetSizes(TextView textView, int[] presetSizes, int unit)
तरीका.TextView
क्लास का कोई इंस्टेंस दें, साइज़ का अरे और इसके लिए कोई भीTypedValue
डाइमेंशन यूनिट आकार. - प्रीसेट साइज़ का इस्तेमाल करके,
सहायता लाइब्रेरी के ज़रिए एक्सएमएल में
TextView
के लिए,app
नेमस्पेस औरautoSizeTextType
सेट करें लेआउट एक्सएमएल फ़ाइल मेंautoSizePresetSizes
एट्रिब्यूट.
<resources> <array name="autosize_text_sizes"> <item>10sp</item> <item>12sp</item> <item>20sp</item> <item>40sp</item> <item>100sp</item> </array> </resources>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="200dp" app:autoSizeTextType="uniform" app:autoSizePresetSizes="@array/autosize_text_sizes" /> </LinearLayout>
अन्य संसाधन
डाइनैमिक के साथ काम करते समय, TextView
का अपने-आप साइज़ बदलने के बारे में ज़्यादा जानकारी के लिए
कॉन्टेंट, देखें
Android Jetpack: अपने-आप साइज़ बदलने वाला TextView.