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

Jetpack androidx.compose.material3 লাইব্রেরি ব্যবহারকারীদের একটি স্টাইলাস ব্যবহার করে যেকোনো অ্যাপের যেকোনো TextField উপাদানে লিখতে সক্ষম করে।

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

ডিফল্টরূপে স্টাইলাস ইনপুট সক্ষম করতে, আপনার অ্যাপের build.gradle ফাইলে লাইব্রেরি নির্ভরতা যোগ করুন:

কোটলিন

dependencies {
    implementation("androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "LATEST_EXTENSION_VERSION"
    }

    kotlinOptions {
        jvmTarget = "LATEST_JVM_VERSION"
    }
}

গ্রোভি

dependencies {
    implementation 'androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION'
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = 'LATEST_EXTENSION_VERSION'
    }

    kotlinOptions {
        jvmTarget = 'LATEST_JVM_VERSION'
    }
}

TextField

অ্যান্ড্রয়েড 14 এবং উচ্চতর এবং androidx.compose.foundation:foundation:1.7.0 নির্ভরতায় ডিফল্টরূপে সমস্ত TextField উপাদানের জন্য Stylus হস্তাক্ষর সক্ষম করা আছে। একটি TextField জন্য হস্তাক্ষর মোড শুরু হয় যখন উপাদানটির হস্তাক্ষর সীমার মধ্যে একটি স্টাইলাস মোশন ইভেন্ট সনাক্ত করা হয়।

হাতের লেখার সীমার মধ্যে রয়েছে 40 dp উল্লম্ব প্যাডিং এবং 10 dp অনুভূমিক প্যাডিং ইনপুট ক্ষেত্রের চারপাশে।

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

TextField ক্ষেত্রগুলির জন্য স্টাইলাস হস্তাক্ষর সমর্থিত নয় যখন ইনপুট পদ্ধতি সম্পাদককে KeyboardType.Password দিয়ে অনুরোধ করা হয়।

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

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

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

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

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

স্টাইলাস হস্তাক্ষর মোড শুরু হয় যখন কার্যকরী ইনপুট ক্ষেত্র ফোকাস লাভ করে এবং একটি InputConnection তৈরি করে।

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

টেস্টিং

স্টাইলাস হস্তাক্ষর একটি সামঞ্জস্যপূর্ণ স্টাইলাস ইনপুট ডিভাইস এবং একটি ইনপুট মেথড এডিটর (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 বিটা ব্যবহার করুন।

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