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

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”-এ ক্লিক করলে, একটি লিঙ্ক দেখানো হয় এবং ব্যবহারকারী লিঙ্কে ক্লিক করলে মেট্রিক লগ করা হয়: