প্রতিটি টেক্সট ফিল্ডে নির্দিষ্ট ধরনের টেক্সট ইনপুট আশা করা হয়, যেমন ইমেল আইডি, ফোন নম্বর বা সাধারণ টেক্সট। আপনার অ্যাপের প্রতিটি টেক্সট ফিল্ডের জন্য ইনপুট টাইপ নির্দিষ্ট করতে হবে যাতে সিস্টেম স্ক্রিনে দেখানো কীবোর্ডের মতো উপযুক্ত সফ্ট ইনপুট পদ্ধতি দেখাতে পারে।
ইনপুট পদ্ধতির সাথে উপলভ্য বোতামের ধরন ছাড়াও, আপনি এমন আচরণ নির্দিষ্ট করতে পারেন যেমন ইনপুট পদ্ধতি বানান সংক্রান্ত সাজেশন দেয় কিনা, নতুন বাক্যের প্রথম অক্ষর বড় হাতের হয় কিনা এবং ক্যারেজ রিটার্ন বোতামের পরিবর্তে হয়ে গেছে বা পরবর্তীর মতো অ্যাকশন বোতাম থাকে কিনা। এইসব বৈশিষ্ট্য কীভাবে নির্দিষ্ট করতে হয় তা এই পৃষ্ঠায় দেখানো হয়েছে।
কীবোর্ডের ধরন নির্দিষ্ট করুন
android:inputType
অ্যাট্রিবিউটটি
<EditText> এলিমেন্টে যোগ করে আপনার টেক্সট ফিল্ডের ইনপুট পদ্ধতি সবসময় ঘোষণা করুন।
phone ইনপুট ধরন।যেমন, আপনি যদি ফোন নম্বর লেখার জন্য ইনপুট পদ্ধতি চান, তাহলে
"phone" ভ্যালু ব্যবহার করুন:
<EditText android:id="@+id/phone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/phone_hint" android:inputType="phone" />
textPassword ইনপুট ধরন।টেক্সট ফিল্ডটি পাসওয়ার্ডের জন্য হলে, "textPassword" ভ্যালু ব্যবহার করুন যাতে টেক্সট ফিল্ডটি
ব্যবহারকারীর ইনপুট লুকিয়ে রাখে:
<EditText android:id="@+id/password" android:hint="@string/password_hint" android:inputType="textPassword" ... />
android:inputType অ্যাট্রিবিউটের সাথে সম্পর্কিত বেশ কিছু সম্ভাব্য ভ্যালু ডকুমেন্ট করা আছে,
এবং ইনপুট পদ্ধতির চেহারা ও অতিরিক্ত
ব্যবহার নির্দিষ্ট করতে আপনি কিছু ভ্যালু একত্রিত করতে পারেন।
বানান সংক্রান্ত সাজেশন ও অন্যান্য আচরণ চালু করা
textAutoCorrect যোগ করলে, ভুল বানান
অটোমেটিক ঠিক হয়ে যায়।android:inputType অ্যাট্রিবিউট আপনাকে ইনপুট
পদ্ধতির জন্য বিভিন্ন আচরণ নির্দিষ্ট করতে দেয়। সবচেয়ে গুরুত্বপূর্ণ হল, আপনার টেক্সট ফিল্ড যদি সাধারণ টেক্সট ইনপুটের জন্য তৈরি করা হয়ে থাকে—যেমন, কোনও
টেক্সট মেসেজ—তাহলে "textAutoCorrect"
ভ্যালু সহ অটোমেটিক বানান সংশোধন করার ফিচার চালু করুন।
আপনি
android:inputType অ্যাট্রিবিউটের সাথে বিভিন্ন আচরণ ও ইনপুট পদ্ধতির স্টাইল একত্রিত করতে পারবেন। যেমন, এখানে কীভাবে এমন একটি টেক্সট ফিল্ড তৈরি করতে হয় তা দেখানো হল যা
কোনও বাক্যের প্রথম শব্দকে ক্যাপিটালাইজ করে এবং বানান ভুল হলে তা অটোমেটিক সংশোধন করে:
<EditText android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType= "textCapSentences|textAutoCorrect" ... />
ইনপুট পদ্ধতি অ্যাকশন নির্দিষ্ট করুন
বেশিরভাগ সফ্ট ইনপুট পদ্ধতি নিচের কোণে একটি ব্যবহারকারী অ্যাকশন বোতাম প্রদান করে যা
বর্তমান টেক্সট ফিল্ডের জন্য উপযুক্ত। ডিফল্ট হিসেবে, আপনার টেক্সট ফিল্ডে মাল্টি-লাইন টেক্সট না থাকলে—যেমন,
android:inputType="textMultiLine"—সিস্টেম এই বোতামটি পরবর্তী বা
সম্পূর্ণ অ্যাকশনের জন্য ব্যবহার করে। সেক্ষেত্রে অ্যাকশন বোতামটি হল ক্যারেজ
রিটার্ন। তবে, আপনি অন্যান্য অ্যাকশন নির্দিষ্ট করতে পারেন যা আপনার টেক্সট ফিল্ডের জন্য আরও উপযুক্ত হতে পারে,
যেমন পাঠান বা যান।
কীবোর্ড অ্যাকশন বোতাম নির্দিষ্ট করতে, অ্যাকশন ভ্যালু সহ
android:imeOptions
অ্যাট্রিবিউট ব্যবহার করুন, যেমন "actionSend" বা "actionSearch"। যেমন:
android:imeOptions="actionSend".<EditText android:id="@+id/search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/search_hint" android:inputType="text" android:imeOptions="actionSend" />
তারপরে, আপনি EditText এলিমেন্টের জন্য
TextView.OnEditorActionListener
নির্ধারণ করে অ্যাকশন বোতামে প্রেস করার বিষয়টি শুনতে পারবেন। আপনার
লিসনারে,
EditorInfo ক্লাস,
যেমন
IME_ACTION_SEND,
এ সংজ্ঞায়িত উপযুক্ত IME অ্যাকশন আইডিতে উত্তর দিন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
Kotlin
findViewById<EditText>(R.id.search).setOnEditorActionListener { v, actionId, event -> return@setOnEditorActionListener when (actionId) { EditorInfo.IME_ACTION_SEND -> { sendMessage() true } else -> false } }
জাভা
EditText editText = (EditText) findViewById(R.id.search); editText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { boolean handled = false; if (actionId == EditorInfo.IME_ACTION_SEND) { sendMessage(); handled = true; } return handled; } });
অটোমেটিক সম্পূর্ণ করার সাজেশন দেওয়া
ব্যবহারকারীরা টাইপ করার সময় তাদের সাজেশন দিতে চাইলে, আপনি
EditText নামক
AutoCompleteTextView-এর একটি সাবক্লাস ব্যবহার করতে পারেন।
অটো-কমপ্লিট প্রয়োগ করতে, আপনাকে অবশ্যই এমন একটি
Adapter নির্দিষ্ট করতে হবে যা টেক্সট
সাজেশন প্রদান করে। ডেটা কোথা থেকে আসছে তার উপর নির্ভর করে একাধিক অ্যাডাপ্টার উপলভ্য আছে, যেমন
ডেটাবেস বা অ্যারে থেকে।
AutoCompleteTextView-এর উদাহরণ।নিম্নলিখিত পদ্ধতি বর্ণনা করে যে কীভাবে এমন একটি AutoCompleteTextView সেট-আপ করতে হয় যা
ArrayAdapter ব্যবহার করে একটি অ্যারে থেকে সাজেশন
প্রদান করে:
- আপনার লেআউটে
AutoCompleteTextViewযোগ করুন। এখানে শুধুমাত্র টেক্সট ফিল্ড সহ লেআউট দেওয়া হল:<?xml version="1.0" encoding="utf-8"?> <AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/autocomplete_country" android:layout_width="fill_parent" android:layout_height="wrap_content" />
- সব টেক্সট সাজেশন সহ অ্যারেটি সংজ্ঞায়িত করুন। যেমন, এখানে
দেশের নামের একটি অ্যারে দেওয়া হল:
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="countries_array"> <item>Afghanistan</item> <item>Albania</item> <item>Algeria</item> <item>American Samoa</item> <item>Andorra</item> <item>Angola</item> <item>Anguilla</item> <item>Antarctica</item> ... </string-array> </resources>
- আপনার
ActivityবাFragment-এ, সাজেশন প্রদানকারী অ্যাডাপ্টার নির্দিষ্ট করতে নিচে উল্লেখ করা কোড ব্যবহার করুন:Kotlin
// Get a reference to the AutoCompleteTextView in the layout. val textView = findViewById(R.id.autocomplete_country) as AutoCompleteTextView // Get the string array. val countries: Array<out String> = resources.getStringArray(R.array.countries_array) // Create the adapter and set it to the AutoCompleteTextView. ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries).also { adapter -> textView.setAdapter(adapter) }
জাভা
// Get a reference to the AutoCompleteTextView in the layout. AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country); // Get the string array. String[] countries = getResources().getStringArray(R.array.countries_array); // Create the adapter and set it to the AutoCompleteTextView. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries); textView.setAdapter(adapter);
আগের উদাহরণে,
simple_list_item_1লেআউটে থাকাTextView-এর সাথেcountries_arrayস্ট্রিং অ্যারের প্রতিটি আইটেম বাইন্ড করার জন্য একটি নতুনArrayAdapterইনিশিয়ালাইজ করা হয়েছে। এটি Android-এর দেওয়া একটি লেআউট যা কোনও তালিকায় টেক্সটের স্ট্যান্ডার্ড চেহারা প্রদান করে। -
AutoCompleteTextView-এ অ্যাডাপ্টার অ্যাসাইন করতেsetAdapter()নম্বরে কল করুন।