টেক্সট ফিল্ডে স্টাইলাস ইনপুট

অ্যান্ড্রয়েড 14 (এপিআই লেভেল 34) এবং উচ্চতর ব্যবহারকারীদের একটি স্টাইলাস ব্যবহার করে যেকোনো অ্যাপের যেকোনো টেক্সট ইনপুট ক্ষেত্রে লিখতে সক্ষম করে। EditText উপাদান এবং WebView টেক্সট উইজেট সহ অ্যান্ড্রয়েড টেক্সট এন্ট্রি ক্ষেত্রগুলি ডিফল্টরূপে স্টাইলাস ইনপুট সমর্থন করে।

যাইহোক, যদি আপনার অ্যাপের কাস্টম টেক্সট ইনপুট ফিল্ডের প্রয়োজন হয় ( কাস্টম টেক্সট এডিটর দেখুন) অথবা টেক্সট এন্ট্রি ফিল্ড সহ একটি জটিল লেআউট আছে যেটা অঙ্কন পৃষ্ঠকে ওভারলে করে, আপনাকে আপনার অ্যাপটি কাস্টমাইজ করতে হবে।

চিত্র 1. একটি লেখনী সহ হাতে লেখা ইনপুট।

EditText

Android 14 এবং উচ্চতর সংস্করণে ডিফল্টরূপে সমস্ত EditText ক্ষেত্রের জন্য Stylus হস্তাক্ষর সক্ষম করা আছে। একটি EditText জন্য হস্তাক্ষর মোড শুরু হয় যখন একটি স্টাইলাস মোশন ইভেন্ট দৃশ্যের হস্তাক্ষর সীমার মধ্যে সনাক্ত করা হয়।

হাতের লেখার সীমার মধ্যে রয়েছে 40 ডিপি উল্লম্ব প্যাডিং এবং 10 ডিপি অনুভূমিক প্যাডিং দৃশ্যের চারপাশে। setHandwritingBoundsOffsets() দিয়ে হস্তাক্ষর সীমানা সামঞ্জস্য করুন। setAutoHandwritingEnabled(false) দিয়ে হস্তাক্ষর অক্ষম করুন।

চারপাশের আয়তক্ষেত্র সহ ইনপুট ক্ষেত্র যা লেখনী গতি ঘটনা সনাক্তকরণের জন্য সীমা নির্দেশ করে।
চিত্র 2. EditText ক্ষেত্রের হাতের লেখার সীমানা।

ইনপুট প্রতিনিধি দল

অ্যাপ্লিকেশানগুলি প্লেসহোল্ডার UI উপাদানগুলি প্রদর্শন করতে পারে যা পাঠ্য ইনপুট ক্ষেত্র বলে মনে হয় তবে প্রকৃতপক্ষে কোনও পাঠ্য ইনপুট ক্ষমতা ছাড়াই কেবল স্ট্যাটিক UI উপাদান। অনুসন্ধান ক্ষেত্র একটি সাধারণ উদাহরণ. স্ট্যাটিক UI উপাদানে ট্যাপ করা একটি নতুন UI-তে একটি রূপান্তর ট্রিগার করে যাতে ইনপুটের জন্য ফোকাস করা একটি কার্যকরী পাঠ্য ইনপুট ক্ষেত্র থাকে।

চিত্র 3. স্ট্যাটিক UI এলিমেন্ট থেকে টেক্সট ইনপুট ফিল্ডে ইনপুট ডেলিগেশন।

স্টাইলাস ইনপুট প্রতিনিধি দল

স্থানধারক ইনপুট ক্ষেত্রগুলির জন্য স্টাইলাস হস্তাক্ষর ইনপুট সমর্থন করতে হস্তাক্ষর প্রতিনিধি API ব্যবহার করুন ( setHandwritingDelegatorCallback() এবং setIsHandwritingDelegate() দেখুন)। স্থানধারক UI উপাদানটি একটি কার্যকরী ইনপুট ক্ষেত্রে হস্তাক্ষর অর্পণ করার জন্য কনফিগার করা হয়েছে, উদাহরণস্বরূপ:

কোটলিন

if (Build.VERSION.SDK_INT >= 34) {
    placeholderInputField.setHandwritingDelegatorCallback {
        showAndFocusDelegateInputField()
    }
    delegateInputField.setIsHandwritingDelegate(true)
}

জাভা

if (Build.VERSION.SDK_INT >= 34) {
    placeholderInputField.setHandwritingDelegatorCallback(this::showAndFocusInputFieldDelegate);
    delegateInputField.setIsHandwritingDelegate(true);
}

প্লেসহোল্ডার টেক্সট ইনপুট ফিল্ড ভিউয়ের উপরে স্টাইলাস গতি কলব্যাককে আহ্বান করে। কলব্যাক কার্যকরী ইনপুট ক্ষেত্র দেখাতে এবং ফোকাস করতে UI ট্রানজিশনকে ট্রিগার করে। কলব্যাক বাস্তবায়ন সাধারণত প্লেসহোল্ডার উপাদানে ক্লিক শ্রোতার জন্য বাস্তবায়নের মতোই। যখন কার্যকরী ইনপুট ক্ষেত্র একটি InputConnection তৈরি করে, স্টাইলাস হস্তাক্ষর মোড শুরু হয়।

চিত্র 4. স্ট্যাটিক UI এলিমেন্ট থেকে টেক্সট ইনপুট ফিল্ডে স্টাইলাস ইনপুট ডেলিগেশন।

মেটেরিয়াল ডিজাইন

com.google.android.material.search লাইব্রেরি স্থানধারক UI প্যাটার্ন বাস্তবায়নের সুবিধার্থে SearchBar এবং SearchView ক্লাস প্রদান করে।

প্লেসহোল্ডার এবং কার্যকরী অনুসন্ধান দৃশ্যগুলি setUpWithSearchBar() এর সাথে লিঙ্ক করা হয়েছে।

আপনার অ্যাপে কোনো অতিরিক্ত বিকাশের প্রয়োজন ছাড়াই ম্যাটেরিয়াল লাইব্রেরিতে হাতের লেখা প্রতিনিধি কনফিগার করা হয়েছে।

অঙ্কন পৃষ্ঠতল সঙ্গে ওভারল্যাপ

আপনার অ্যাপ্লিকেশানে টেক্সট ফিল্ড ওভারলে করা একটি অঙ্কন পৃষ্ঠ থাকলে, ব্যবহারকারীকে আঁকতে অনুমতি দেওয়ার জন্য আপনাকে স্টাইলাস হস্তাক্ষর অক্ষম করতে হতে পারে। setAutoHandwritingEnabled() দেখুন।

টেস্টিং

স্টাইলাস হস্তাক্ষর একটি সামঞ্জস্যপূর্ণ স্টাইলাস ইনপুট ডিভাইস এবং একটি ইনপুট মেথড এডিটর (IME) সহ Android 14 এবং উচ্চতর ডিভাইসে সমর্থিত যা Android 14 স্টাইলাস হস্তাক্ষর API সমর্থন করে।

আপনার কাছে স্টাইলাস ইনপুট ডিভাইস না থাকলে, নিম্নলিখিত অ্যান্ড্রয়েড ডিবাগ ব্রিজ (এডিবি) কমান্ডগুলি ব্যবহার করে রুট অ্যাক্সেস (এমুলেটর সহ) সহ যেকোনো ডিভাইসে স্টাইলাস ইনপুট অনুকরণ করুন:


// Android 14
adb shell setprop persist.debug.input.simulate_stylus_with_touch true && adb shell stop && adb shell start

// Android 15 and higher
// Property takes effect after screen reconfiguration such as orientation change.
adb shell setprop debug.input.simulate_stylus_with_touch true

আপনি যদি স্টাইলাস সমর্থন করে না এমন একটি ডিভাইস ব্যবহার করেন তবে পরীক্ষার জন্য Gboard বিটা ব্যবহার করুন।

অতিরিক্ত সম্পদ