প্রতিটি পাঠ্য ক্ষেত্র একটি নির্দিষ্ট ধরণের পাঠ্য ইনপুট আশা করে, যেমন একটি ইমেল ঠিকানা, ফোন নম্বর বা সাধারণ পাঠ্য। আপনাকে অবশ্যই আপনার অ্যাপের প্রতিটি পাঠ্য ক্ষেত্রের জন্য ইনপুট প্রকার নির্দিষ্ট করতে হবে যাতে সিস্টেমটি একটি অন-স্ক্রীন কীবোর্ডের মতো উপযুক্ত সফট ইনপুট পদ্ধতি প্রদর্শন করে।
ইনপুট পদ্ধতির সাথে উপলব্ধ বোতামের প্রকারের বাইরে, আপনি আচরণগুলি নির্দিষ্ট করতে পারেন যেমন ইনপুট পদ্ধতিটি বানানের পরামর্শ প্রদান করে, নতুন বাক্য বড় করে এবং ক্যারেজ রিটার্ন বোতামটিকে একটি অ্যাকশন বোতাম যেমন সম্পন্ন বা পরবর্তী দিয়ে প্রতিস্থাপন করে। এই পৃষ্ঠাটি দেখায় কিভাবে এই বৈশিষ্ট্যগুলি নির্দিষ্ট করতে হয়।
কীবোর্ডের ধরন উল্লেখ করুন
সর্বদা <EditText>
উপাদানটিতে android:inputType
বৈশিষ্ট্য যোগ করে আপনার পাঠ্য ক্ষেত্রের জন্য ইনপুট পদ্ধতি ঘোষণা করুন।
![ফোন ইনপুট](https://developer.android.com/static/images/ui/edittext-phone.png?hl=bn)
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" />
![টেক্সটপাসওয়ার্ড ইনপুট প্রকার](https://developer.android.com/static/images/training/input/ime_password.png?hl=bn)
textPassword
ইনপুট প্রকার। যদি পাঠ্য ক্ষেত্রটি একটি পাসওয়ার্ডের জন্য হয়, "textPassword"
মান ব্যবহার করুন যাতে পাঠ্য ক্ষেত্র ব্যবহারকারীর ইনপুট গোপন করে:
<EditText android:id="@+id/password" android:hint="@string/password_hint" android:inputType="textPassword" ... />
android:inputType
বৈশিষ্ট্যের সাথে নথিভুক্ত বেশ কয়েকটি সম্ভাব্য মান রয়েছে এবং আপনি ইনপুট পদ্ধতির উপস্থিতি এবং অতিরিক্ত আচরণ নির্দিষ্ট করতে কিছু মান একত্রিত করতে পারেন।
বানান পরামর্শ এবং অন্যান্য আচরণ সক্ষম করুন
![স্বয়ংক্রিয় সংশোধন](https://developer.android.com/static/images/training/input/ime_autocorrect.png?hl=bn)
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"
-এর সাথে যে ক্ষেত্রে অ্যাকশন বোতামটি একটি ক্যারেজ রিটার্ন। যাইহোক, আপনি অন্যান্য ক্রিয়াগুলি নির্দিষ্ট করতে পারেন যা আপনার পাঠ্য ক্ষেত্রের জন্য আরও উপযুক্ত হতে পারে, যেমন পাঠান বা যান ৷
কীবোর্ড অ্যাকশন বোতামটি নির্দিষ্ট করতে, "actionSend"
বা "actionSearch"
এর মতো একটি অ্যাকশন মান সহ android:imeOptions
অ্যাট্রিবিউট ব্যবহার করুন। যেমন:
![পাঠান বোতাম](https://developer.android.com/static/images/ui/edittext-actionsend.png?hl=bn)
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 অ্যাকশন আইডিতে সাড়া দিন, যেমন IME_ACTION_SEND
, নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
কোটলিন
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; } });
স্বয়ংক্রিয়-সম্পূর্ণ পরামর্শ প্রদান করুন
আপনি ব্যবহারকারীদের টাইপ করার সাথে সাথে পরামর্শ দিতে চাইলে, আপনি AutoCompleteTextView
নামক EditText
এর একটি সাবক্লাস ব্যবহার করতে পারেন। স্বয়ংসম্পূর্ণ বাস্তবায়ন করতে, আপনাকে অবশ্যই একটি Adapter
নির্দিষ্ট করতে হবে যা পাঠ্য পরামর্শ প্রদান করে। ডেটা কোথা থেকে আসছে তার উপর নির্ভর করে, যেমন একটি ডাটাবেস বা অ্যারে থেকে অনেকগুলি অ্যাডাপ্টার উপলব্ধ রয়েছে৷
![পাঠ্য পরামর্শ](https://developer.android.com/static/images/ui/edittext-autocomplete.png?hl=bn)
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
, পরামর্শগুলি সরবরাহকারী অ্যাডাপ্টারটি নির্দিষ্ট করতে নিম্নলিখিত কোডটি ব্যবহার করুন:কোটলিন
// 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);
পূর্ববর্তী উদাহরণে, একটি নতুন
ArrayAdapter
শুরু করা হয়েছেcountries_array
স্ট্রিং অ্যারের প্রতিটি আইটেমকে একটিTextView
এর সাথে আবদ্ধ করতে যাsimple_list_item_1
লেআউটে বিদ্যমান। এটি Android দ্বারা প্রদত্ত একটি লেআউট যা একটি তালিকায় পাঠ্যের জন্য একটি আদর্শ উপস্থিতি প্রদান করে৷ -
setAdapter()
কল করে অ্যাডাপ্টারটিকেAutoCompleteTextView
এ বরাদ্দ করুন।