অটোসাইজ টেক্সটভিউ
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
Android 8.0 (API লেভেল 26) এবং উচ্চতর, আপনি TextView
এর বৈশিষ্ট্য এবং সীমানার উপর ভিত্তি করে এর লেআউটটি পূরণ করতে পাঠ্যের আকারকে প্রসারিত করতে বা স্বয়ংক্রিয়ভাবে সংকোচন করার জন্য একটি TextView
নির্দেশ দিতে পারেন। এই সেটিংটি গতিশীল সামগ্রী সহ বিভিন্ন স্ক্রিনে পাঠ্যের আকার অপ্টিমাইজ করা সহজ করে তোলে৷
Support Library 26.0 সম্পূর্ণরূপে Android ভার্সন 8.0 (API লেভেল 26) বা তার নিচে চলমান ডিভাইসগুলিতে অটোসাইজিং TextView
ফিচার সমর্থন করে। android.support.v4.widget
প্যাকেজে একটি পশ্চাদগামী-সামঞ্জস্যপূর্ণ ফ্যাশনে বৈশিষ্ট্যগুলি অ্যাক্সেস করার জন্য TextViewCompat
ক্লাস রয়েছে।
টেক্সটভিউ অটোসাইজ সেট আপ করুন
আপনি হয় ফ্রেমওয়ার্ক বা সাপোর্ট লাইব্রেরি ব্যবহার করতে পারেন যাতে TextView
প্রোগ্রাম্যাটিকভাবে বা XML-এ অটোসাইজ করা যায়। XML বৈশিষ্ট্যগুলি সেট করতে, আপনি Android স্টুডিওতে বৈশিষ্ট্য উইন্ডোটিও ব্যবহার করতে পারেন।
তিনটি উপায়ে আপনি TextView
এর অটোসাইজিং সেট আপ করতে পারেন, যা অনুসরণ করা বিভাগগুলিতে বর্ণিত হয়েছে:
দ্রষ্টব্য : আপনি যদি একটি XML ফাইলে অটোসাইজিং সেট করেন, আমরা একটি TextView
এর layout_width
বা layout_height
বৈশিষ্ট্যের জন্য "wrap_content" মান ব্যবহার করার পরামর্শ দিই না। এটি করার ফলে অপ্রত্যাশিত ফলাফল হতে পারে।
ডিফল্ট
ডিফল্ট সেটিং অনুভূমিক এবং উল্লম্ব অক্ষগুলিতে অভিন্নভাবে TextView
স্কেলের অটোসাইজ করতে দেয়।
- ডিফল্ট সেটিং প্রোগ্রামগতভাবে সংজ্ঞায়িত করতে,
setAutoSizeTextTypeWithDefaults(int autoSizeTextType)
পদ্ধতিতে কল করুন। অটোসাইজিং বৈশিষ্ট্যটি বন্ধ করতে AUTO_SIZE_TEXT_TYPE_NONE
প্রদান করুন বা অনুভূমিক এবং উল্লম্ব অক্ষগুলিকে সমানভাবে স্কেল করতে AUTO_SIZE_TEXT_TYPE_UNIFORM
প্রদান করুন৷ দ্রষ্টব্য : ইউনিফর্ম স্কেলিং এর জন্য ডিফল্ট মাত্রা হল minTextSize = 12sp
, maxTextSize = 112sp
, এবং granularity = 1px.
- XML-এ ডিফল্ট সেটিং সংজ্ঞায়িত করতে,
android
নেমস্পেস ব্যবহার করুন এবং autoSizeTextType
অ্যাট্রিবিউটটি none বা ইউনিফর্মে সেট করুন। <?xml version="1.0" encoding="utf-8"?>
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:autoSizeTextType="uniform" />
সাপোর্ট লাইব্রেরি ব্যবহার করে ডিফল্ট সেটিং নির্ধারণ করুন
গ্রানুলারিটি
আপনি সর্বনিম্ন এবং সর্বাধিক পাঠ্য আকারের একটি পরিসীমা এবং একটি মাত্রা নির্ধারণ করতে পারেন যা প্রতিটি ধাপের আকার নির্দিষ্ট করে। TextView
ন্যূনতম এবং সর্বাধিক আকারের বৈশিষ্ট্যগুলির মধ্যে একটি পরিসরে অভিন্নভাবে স্কেল করে৷ গ্রানুলারিটি অ্যাট্রিবিউটে স্টেপ সাইজ সেট হিসাবে প্রতিটি ইনক্রিমেন্ট ঘটে।
সমর্থন লাইব্রেরি ব্যবহার করে গ্রানুলারিটি সংজ্ঞায়িত করুন
প্রিসেট মাপ
প্রিসেট আকারগুলি আপনাকে পাঠ্য অটোসাইজ করার সময় TextView
বেছে নেওয়া মানগুলি নির্দিষ্ট করতে দেয়।
-
TextView
প্রোগ্রামেটিকভাবে অটোসাইজিং সেট আপ করতে প্রিসেট মাপ ব্যবহার করতে, setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
পদ্ধতিতে কল করুন। আকারের একটি অ্যারে এবং আকারের জন্য যেকোন TypedValue
মাত্রা একক প্রদান করুন। - এক্সএমএলে
TextView
-এর অটোসাইজিং সেট আপ করতে প্রিসেট মাপ ব্যবহার করতে, android
নেমস্পেস ব্যবহার করুন এবং নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করুন:-
autoSizeTextType
বৈশিষ্ট্যটি কোনটি নয় বা ইউনিফর্মে সেট করুন। কোনো মানই ডিফল্ট নয়, এবং ইউনিফর্ম অনুভূমিক এবং উল্লম্ব অক্ষগুলিতে 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
মাত্রা ইউনিট প্রদান করুন। - সমর্থন লাইব্রেরির মাধ্যমে XML-এ
TextView
এর অটোসাইজিং সেট আপ করতে প্রিসেট মাপ ব্যবহার করতে, app
নামস্থান ব্যবহার করুন এবং লেআউট XML ফাইলে 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: Autosizing TextView দেখুন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Autosize TextViews\n\nWith Android 8.0 (API level 26) and higher, you can instruct a\n[TextView](/reference/android/widget/TextView) to let the text size\nexpand or contract automatically to fill its layout based on the\n`TextView`'s characteristics and boundaries. This setting makes it easier to\noptimize text size on different screens with dynamic content.\n\n\nSupport Library 26.0 fully supports the autosizing `TextView`\nfeature on devices running Android versions 8.0 (API level 26) or lower.\nThe `android.support.v4.widget` package contains the `TextViewCompat`\nclass to access features in a backward-compatible fashion.\n\nSet up TextView autosize\n------------------------\n\n\nYou can either use the framework or Support Library to set up the autosizing of\n`TextView` programmatically or in XML. To\nset the XML attributes, you can also use the **Properties**\nwindow in Android Studio.\n\n\nThere are three ways you can set up the autosizing of `TextView`,\ndescribed in the sections that follow:\n\n- [Default](#default)\n- [Granularity](#granularity)\n- [Preset sizes](#preset-sizes)\n\n**Note** : If you set autosizing in an XML file, we do not\nrecommended using the value \"wrap_content\" for the\n`layout_width` or `layout_height` attributes of a\n`TextView`. Doing so might produce\nunexpected results.\n\n### Default\n\n\nThe default setting lets the autosizing of `TextView` scale\nuniformly on horizontal and vertical axes.\n\n- To define the default setting programmatically, call the [`setAutoSizeTextTypeWithDefaults(int autoSizeTextType)\n `](/reference/android/widget/TextView#setAutoSizeTextTypeWithDefaults(int)) method. Provide `AUTO_SIZE_TEXT_TYPE_NONE` to turn off the autosizing feature or `AUTO_SIZE_TEXT_TYPE_UNIFORM` to scale the horizontal and the vertical axes uniformly.\n- **Note** : The default dimensions for uniform scaling are `minTextSize = 12sp`, `maxTextSize = 112sp`, and `granularity = 1px.`\n- To define the default setting in XML, use the `android` namespace and set the [`autoSizeTextType`](/reference/android/widget/TextView#attr_android:autoSizeTextType) attribute to *none* or *uniform*. \n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cTextView\n android:layout_width=\"match_parent\"\n android:layout_height=\"200dp\"\n android:autoSizeTextType=\"uniform\" /\u003e\n```\n\n#### Define the default setting using the Support Library\n\n- To define the default setting programmatically through the Support Library, call the [`TextViewCompat.setAutoSizeTextTypeWithDefaults(TextView textview, int autoSizeTextType)`](/reference/androidx/core/widget/TextViewCompat#setAutoSizeTextTypeWithDefaults(android.widget.TextView,int)) method. Provide an instance of the `TextView` widget and one of the text types, such as `TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE` or `TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM`.\n- To define the default setting in XML through the Support Library, use the `app` namespace and set the `autoSizeTextType` attribute to *none* or *uniform*. \n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cLinearLayout\n xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\u003e\n\n \u003cTextView\n android:layout_width=\"match_parent\"\n android:layout_height=\"200dp\"\n app:autoSizeTextType=\"uniform\" /\u003e\n\n\u003c/LinearLayout\u003e\n```\n\n### Granularity\n\n\nYou can define a range of minimum and maximum text sizes and a\ndimension that specifies the size of each step. The\n`TextView` scales uniformly in a range between the\nminimum and maximum size attributes. Each increment occurs as the step\nsize set in the granularity attribute.\n\n- To define a range of text sizes and a dimension programmatically, call the [setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)](/reference/android/widget/TextView#setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int)) method. Provide the maximum value, the minimum value, the granularity value, and any [TypedValue](/reference/android/util/TypedValue) dimension unit.\n- To define a range of text sizes and a dimension in XML, use the `android` namespace and set the following attributes:\n - Set the `autoSizeTextType` attribute to either *none* or *uniform* . The *none* value is the default, and *uniform* lets `TextView` scale uniformly on horizontal and vertical axes.\n- Set the [`autoSizeMinTextSize`](/reference/android/widget/TextView#attr_android:autoSizeMinTextSize), [`autoSizeMaxTextSize`](/reference/android/widget/TextView#attr_android:autoSizeMaxTextSize), and [`autoSizeStepGranularity`](/reference/android/widget/TextView#attr_android:autoSizeStepGranularity) attributes to define the dimensions for the autosizing of `TextView`. \n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cTextView\n android:layout_width=\"match_parent\"\n android:layout_height=\"200dp\"\n android:autoSizeTextType=\"uniform\"\n android:autoSizeMinTextSize=\"12sp\"\n android:autoSizeMaxTextSize=\"100sp\"\n android:autoSizeStepGranularity=\"2sp\" /\u003e\n```\n\n#### Define granularity using the Support Library\n\n- To define a range of text sizes and a dimension programmatically through the Support Library, call the [`TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)`](/reference/androidx/core/widget/TextViewCompat#setAutoSizeTextTypeUniformWithConfiguration(android.widget.TextView,int,int,int,int)) method. Provide the maximum value, the minimum value, the granularity value, and any `TypedValue` dimension unit.\n- To define a range of text sizes and a dimension in XML through the Support Library, use the `app` namespace and set the `autoSizeText`, `autoSizeMinTextSize`, `autoSizeMaxTextSize`, and `autoSizeStepGranularity` attributes in the layout XML file. \n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cLinearLayout\n xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\u003e\n\n \u003cTextView\n android:layout_width=\"match_parent\"\n android:layout_height=\"200dp\"\n app:autoSizeTextType=\"uniform\"\n app:autoSizeMinTextSize=\"12sp\"\n app:autoSizeMaxTextSize=\"100sp\"\n app:autoSizeStepGranularity=\"2sp\" /\u003e\n\n\u003c/LinearLayout\u003e\n```\n\n### Preset sizes\n\n\nPreset sizes let you specify the values that the\n`TextView` picks when autosizing text.\n\n- To use preset sizes to set up the autosizing of `TextView` programmatically, call the [setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)](/reference/android/widget/TextView#setAutoSizeTextTypeUniformWithPresetSizes(int[], int)) method. Provide an array of sizes and any `TypedValue` dimension unit for the size.\n- To use preset sizes to set up the autosizing of `TextView` in XML, use the `android` namespace and set the following attributes:\n - Set the `autoSizeTextType` attribute to either *none* or *uniform* . The *none* value is the default, and *uniform* lets `TextView` scale uniformly on horizontal and vertical axes.\n- Set the [`autoSizePresetSizes`](/reference/android/widget/TextView#attr_android:autoSizePresetSizes) attribute to an array of preset sizes. To access the array as a resource, define the array in the `res/values/arrays.xml` file. \n\n```xml\n\u003cresources\u003e\n \u003carray name=\"autosize_text_sizes\"\u003e\n \u003citem\u003e10sp\u003c/item\u003e\n \u003citem\u003e12sp\u003c/item\u003e\n \u003citem\u003e20sp\u003c/item\u003e\n \u003citem\u003e40sp\u003c/item\u003e\n \u003citem\u003e100sp\u003c/item\u003e\n \u003c/array\u003e\n\u003c/resources\u003e\n``` \n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cTextView\n android:layout_width=\"match_parent\"\n android:layout_height=\"200dp\"\n android:autoSizeTextType=\"uniform\"\n android:autoSizePresetSizes=\"@array/autosize_text_sizes\" /\u003e\n```\n\n#### Set up preset sizes using the Support Library\n\n- To use preset sizes to set up the autosizing of `TextView` programmatically through the Support Library, call the [`TextViewCompat.setAutoSizeTextTypeUniformWithPresetSizes(TextView textView, int[] presetSizes, int unit)`](/reference/androidx/core/widget/TextViewCompat#setAutoSizeTextTypeUniformWithPresetSizes(android.widget.TextView,int[],int)) method. Provide an instance of the `TextView` class, an array of sizes, and any `TypedValue` dimension unit for the size.\n- To use preset sizes to set up the autosizing of `TextView` in XML through the Support Library, use the `app` namespace and set the `autoSizeTextType` and `autoSizePresetSizes` attributes in the layout XML file. \n\n```xml\n\u003cresources\u003e\n \u003carray name=\"autosize_text_sizes\"\u003e\n \u003citem\u003e10sp\u003c/item\u003e\n \u003citem\u003e12sp\u003c/item\u003e\n \u003citem\u003e20sp\u003c/item\u003e\n \u003citem\u003e40sp\u003c/item\u003e\n \u003citem\u003e100sp\u003c/item\u003e\n \u003c/array\u003e\n\u003c/resources\u003e\n``` \n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cLinearLayout\n xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\u003e\n\n \u003cTextView\n android:layout_width=\"match_parent\"\n android:layout_height=\"200dp\"\n app:autoSizeTextType=\"uniform\"\n app:autoSizePresetSizes=\"@array/autosize_text_sizes\" /\u003e\n\u003c/LinearLayout\u003e\n```\n\nAdditional resources\n--------------------\n\n\nFor additional information on autosizing a `TextView` when working with dynamic\ncontent, watch\n[Android Jetpack: Autosizing TextView](https://www.youtube.com/watch?v=JYrpEAz_A1U)."]]