ব্যবহারকারীর ইন্টার‍্যাকশন চালু করা

Jetpack Compose Text-এ ফাইন-গ্রেনড ইন্টারঅ্যাক্টিভিটি চালু করে। টেক্সট বেছে নেওয়ার সুবিধা এখন আরও ফ্লেক্সিবল এবং কম্পোজেবল লেআউট জুড়ে করা যেতে পারে। টেক্সটে ব্যবহারকারীর ইন্টার‍্যাকশন অন্যান্য কম্পোজেবল লেআউটের থেকে আলাদা, কারণ আপনি Text কম্পোজেবলের কোনও অংশে মডিফায়ার যোগ করতে পারবেন না। এই পৃষ্ঠায় সেইসব API হাইলাইট করা হয় যেগুলি ব্যবহারকারীর ইন্টার‍্যাকশন চালু করে।

টেক্সট বেছে নিন

ডিফল্ট হিসেবে, কম্পোজেবল বেছে নেওয়া যায় না, যার অর্থ হল ব্যবহারকারীরা আপনার অ্যাপ থেকে টেক্সট বেছে নিতে ও কপি করতে পারবেন না। টেক্সট বেছে নেওয়ার সুবিধা চালু করতে, আপনার টেক্সট এলিমেন্ট SelectionContainer কম্পোজেবল দিয়ে র‍্যাপ করুন:

@Composable
fun SelectableText() {
    SelectionContainer {
        Text("This text is selectable")
    }
}

ব্যবহারকারীর বেছে নেওয়া টেক্সটের একটি ছোট অনুচ্ছেদ।

আপনি বেছে নেওয়ার উপযুক্ত কোনও অংশের নির্দিষ্ট কিছু জায়গায় বেছে নেওয়ার সুবিধা বন্ধ করতে চাইতে পারেন। এটি করতে, আপনাকে DisableSelection কম্পোজেবল দিয়ে বেছে নেওয়া যায় না এমন অংশটি র‍্যাপ করতে হবে:

@Composable
fun PartiallySelectableText() {
    SelectionContainer {
        Column {
            Text("This text is selectable")
            Text("This one too")
            Text("This one as well")
            DisableSelection {
                Text("But not this one")
                Text("Neither this one")
            }
            Text("But again, you can select this one")
            Text("And this one too")
        }
    }
}

টেক্সটের একটি দীর্ঘ অনুচ্ছেদ। ব্যবহারকারী পুরো অনুচ্ছেদটি বেছে নেওয়ার চেষ্টা করেছিলেন, কিন্তু দুটি লাইনে DisableSelection প্রয়োগ করা থাকায় সেগুলি বেছে নেওয়া হয়নি।

LinkAnnotation ব্যবহার করে টেক্সটের ক্লিক করা যায় এমন বিভাগ তৈরি করুন

Text-এ ক্লিক শোনার জন্য, আপনি clickable মডিফায়ার যোগ করতে পারেন। তবে, আপনি Text ভ্যালুর নির্দিষ্ট কোনও অংশে অতিরিক্ত তথ্য যোগ করতে চাইতে পারেন, যেমন কোনও নির্দিষ্ট শব্দের সাথে URL যোগ করা যা ব্রাউজারে খোলা হবে। এই ধরনের ক্ষেত্রে, আপনাকে LinkAnnotation ব্যবহার করতে হবে, যা হল একটি অ্যানোটেশন যা টেক্সটের ক্লিক করা যায় এমন অংশকে দেখায়।

LinkAnnotation-এর সাহায্যে, আপনি Text কম্পোজেবলের কোনও অংশে URL অ্যাটাচ করতে পারবেন যা ক্লিক করলে অটোমেটিক খুলে যায়, যেমনটি নিম্নলিখিত স্নিপেটে দেখানো হয়েছে:

এছাড়াও, Text কম্পোজেবলের কোনও অংশে ব্যবহারকারীর ক্লিক করার উত্তরে আপনি কাস্টম অ্যাকশন কনফিগার করতে পারবেন। নিম্নলিখিত স্নিপেটে, ব্যবহারকারী "Jetpack Compose"-এ ক্লিক করলে, একটি লিঙ্ক দেখানো হয় এবং ব্যবহারকারী লিঙ্কে ক্লিক করলে মেট্রিক্স লগ করা হয়: