ইনপুট পদ্ধতির ধরন উল্লেখ করুন

রচনা পদ্ধতি চেষ্টা করুন
জেটপ্যাক কম্পোজ হল Android এর জন্য প্রস্তাবিত UI টুলকিট। কম্পোজে কীভাবে স্পর্শ এবং ইনপুট ব্যবহার করবেন তা শিখুন।

প্রতিটি পাঠ্য ক্ষেত্র একটি নির্দিষ্ট ধরণের পাঠ্য ইনপুট আশা করে, যেমন একটি ইমেল ঠিকানা, ফোন নম্বর বা সাধারণ পাঠ্য। আপনাকে অবশ্যই আপনার অ্যাপের প্রতিটি পাঠ্য ক্ষেত্রের জন্য ইনপুট প্রকার নির্দিষ্ট করতে হবে যাতে সিস্টেমটি একটি অন-স্ক্রীন কীবোর্ডের মতো উপযুক্ত সফট ইনপুট পদ্ধতি প্রদর্শন করে।

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

কীবোর্ডের ধরন উল্লেখ করুন

সর্বদা <EditText> উপাদানটিতে android:inputType বৈশিষ্ট্য যোগ করে আপনার পাঠ্য ক্ষেত্রের জন্য ইনপুট পদ্ধতি ঘোষণা করুন।

ফোন ইনপুট
চিত্র 1. 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" />
টেক্সটপাসওয়ার্ড ইনপুট প্রকার
চিত্র 2. textPassword ইনপুট প্রকার।

যদি পাঠ্য ক্ষেত্রটি একটি পাসওয়ার্ডের জন্য হয়, "textPassword" মান ব্যবহার করুন যাতে পাঠ্য ক্ষেত্র ব্যবহারকারীর ইনপুট গোপন করে:

<EditText
    android:id="@+id/password"
    android:hint="@string/password_hint"
    android:inputType="textPassword"
    ... />

android:inputType বৈশিষ্ট্যের সাথে নথিভুক্ত বেশ কয়েকটি সম্ভাব্য মান রয়েছে এবং আপনি ইনপুট পদ্ধতির উপস্থিতি এবং অতিরিক্ত আচরণ নির্দিষ্ট করতে কিছু মান একত্রিত করতে পারেন।

বানান পরামর্শ এবং অন্যান্য আচরণ সক্ষম করুন

স্বয়ংক্রিয় সংশোধন
চিত্র 3. 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 অ্যাট্রিবিউট ব্যবহার করুন। যেমন:

পাঠান বোতাম
চিত্র 4. আপনি যখন 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 নির্দিষ্ট করতে হবে যা পাঠ্য পরামর্শ প্রদান করে। ডেটা কোথা থেকে আসছে তার উপর নির্ভর করে, যেমন একটি ডাটাবেস বা অ্যারে থেকে অনেকগুলি অ্যাডাপ্টার উপলব্ধ রয়েছে৷

পাঠ্য পরামর্শ
চিত্র 5. পাঠ্য পরামর্শ সহ AutoCompleteTextView এর উদাহরণ।

নিম্নলিখিত পদ্ধতিটি বর্ণনা করে যে কিভাবে একটি AutoCompleteTextView সেট আপ করতে হয় যা ArrayAdapter ব্যবহার করে একটি অ্যারের থেকে পরামর্শ প্রদান করে:

  1. আপনার লেআউটে 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" />
    
  2. সমস্ত পাঠ্য পরামর্শ ধারণ করে এমন অ্যারে নির্ধারণ করুন। উদাহরণস্বরূপ, এখানে দেশের নামের একটি অ্যারে রয়েছে:
    <?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>
    
  3. আপনার 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 দ্বারা প্রদত্ত একটি লেআউট যা একটি তালিকায় পাঠ্যের জন্য একটি আদর্শ উপস্থিতি প্রদান করে৷

  4. setAdapter() কল করে অ্যাডাপ্টারটিকে AutoCompleteTextView এ বরাদ্দ করুন।