অ্যান্ড্রয়েড কোটলিন ফান্ডামেন্টালস 02.2: ব্যবহারকারীর ইন্টারঅ্যাক্টিভিটি যোগ করুন

এই কোডল্যাবটি অ্যান্ড্রয়েড কোটলিন ফান্ডামেন্টাল কোর্সের অংশ। আপনি যদি ক্রমানুসারে কোডল্যাবগুলির মাধ্যমে কাজ করেন তবে আপনি এই কোর্সের সর্বাধিক মূল্য পাবেন৷ সমস্ত কোর্স কোডল্যাব অ্যান্ড্রয়েড কোটলিন ফান্ডামেন্টাল কোডল্যাব ল্যান্ডিং পৃষ্ঠায় তালিকাভুক্ত করা হয়েছে।

আপনি ইতিমধ্যে কি জানা উচিত

  • কোটলিনে একটি মৌলিক অ্যান্ড্রয়েড অ্যাপ তৈরি করা হচ্ছে।
  • একটি এমুলেটর বা একটি ডিভাইসে একটি Android অ্যাপ চালানো।
  • অ্যান্ড্রয়েড স্টুডিওর লেআউট এডিটর ব্যবহার করে একটি লিনিয়ার লেআউট তৈরি করা।
  • একটি সাধারণ অ্যাপ তৈরি করা যা LinearLayout , TextView , ScrollView , এবং একটি ক্লিক হ্যান্ডলার সহ একটি বোতাম ব্যবহার করে৷

আপনি কি শিখবেন

  • কিভাবে একটি EditText ভিউ ব্যবহার করে ব্যবহারকারীর ইনপুট পাবেন।
  • EditText ভিউ থেকে টেক্সট ব্যবহার করে কিভাবে একটি TextView ভিউতে টেক্সট সেট করবেন।
  • View এবং ViewGroup সাথে কীভাবে কাজ করবেন।
  • কিভাবে একটি View এর দৃশ্যমানতা পরিবর্তন করতে হয়।

আপনি কি করবেন

  • AboutMe অ্যাপে ইন্টারঅ্যাক্টিভিটি যোগ করুন, যা আগের কোডল্যাব থেকে এসেছে।
  • একটি EditText যোগ করুন যাতে ব্যবহারকারী পাঠ্য লিখতে পারে।
  • একটি Button যোগ করুন এবং এটির ক্লিক হ্যান্ডলার প্রয়োগ করুন।

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

AboutMe অ্যাপ

এই টাস্কে, আপনি ব্যবহারকারীকে একটি ডাকনাম লিখতে অনুমতি দেওয়ার জন্য একটি EditText ইনপুট ক্ষেত্র যোগ করুন।

ধাপ 1: শুরু করুন

  1. আপনার যদি পূর্ববর্তী কোডল্যাব থেকে ইতিমধ্যেই AboutMe অ্যাপ না থাকে, তাহলে স্টার্টার কোড ডাউনলোড করুন, AboutMeInteractive-Starter । এটি একই কোড আপনি পূর্ববর্তী কোডল্যাবে শেষ করেছেন।
  2. অ্যান্ড্রয়েড স্টুডিওতে AboutMeInteractive-স্টার্টার প্রকল্পটি খুলুন।
  3. অ্যাপটি চালান। আপনি একটি স্ক্রোল ভিউতে একটি নামের পাঠ্য দৃশ্য, একটি তারকা চিত্র এবং পাঠ্যের একটি দীর্ঘ অংশ দেখতে পাবেন।



    লক্ষ্য করুন যে ব্যবহারকারী কোন টেক্সট পরিবর্তন করতে পারবেন না।

ব্যবহারকারী অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে পারলে অ্যাপগুলি আরও আকর্ষণীয় হয়, উদাহরণস্বরূপ যদি ব্যবহারকারী পাঠ্য লিখতে পারে। টেক্সট ইনপুট গ্রহণ করার জন্য, অ্যান্ড্রয়েড একটি ইউজার ইন্টারফেস (UI) উইজেট প্রদান করে যাকে এডিট টেক্সট বলা হয়। আপনি EditText ব্যবহার করে একটি সম্পাদনা পাঠ সংজ্ঞায়িত করেন, TextView এর একটি উপশ্রেণী। একটি সম্পাদনা টেক্সট ব্যবহারকারীকে টেক্সট ইনপুট লিখতে এবং পরিবর্তন করতে দেয়, যেমনটি নীচের স্ক্রিনশটে দেখানো হয়েছে।

ধাপ 2: একটি EditText যোগ করুন

  1. অ্যান্ড্রয়েড স্টুডিওতে, ডিজাইন ট্যাবে activity_main.xml লেআউট ফাইলটি খুলুন।
  2. প্যালেট প্যানে, টেক্সট ক্লিক করুন।



    Ab TextView , যা একটি TextView , প্যালেট ফলকের পাঠ্য উপাদানগুলির তালিকার শীর্ষে দেখায়। Ab TextView এর নিচে একাধিক EditText ভিউ রয়েছে।

    প্যালেট প্যানে, লক্ষ্য করুন কিভাবে TextView এর আইকন কোন আন্ডারস্কোরিং ছাড়াই Ab অক্ষর দেখায়। EditText আইকন, তবে, Ab আন্ডারস্কোর দেখায়। আন্ডারস্কোরিং নির্দেশ করে যে ভিউ সম্পাদনাযোগ্য।

    EditText ভিউগুলির প্রতিটির জন্য, Android বিভিন্ন বৈশিষ্ট্য সেট করে এবং সিস্টেমটি উপযুক্ত সফট ইনপুট পদ্ধতি (যেমন একটি অন-স্ক্রীন কীবোর্ড) প্রদর্শন করে।
  3. কম্পোনেন্ট ট্রিতে একটি প্লেইনটেক্সট সম্পাদনা টেক্সট টেনে আনুন এবং name_text নীচে এবং star_image উপরে রাখুন।


  4. EditText ভিউতে নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করতে বৈশিষ্ট্য ফলকটি ব্যবহার করুন।

বৈশিষ্ট্য

মান

id

nickname_edit

layout_width

match_parent (ডিফল্ট)

layout_height

wrap_content (ডিফল্ট)

  1. আপনার অ্যাপ চালান। তারকা চিত্রের উপরে, আপনি ডিফল্ট পাঠ্য "নাম" সহ একটি সম্পাদনা পাঠ্য দেখতে পাচ্ছেন।


এই টাস্কে, আপনি একটি ইঙ্গিত যোগ করে, টেক্সট অ্যালাইনমেন্ট পরিবর্তন করে, স্টাইলটিকে NameStyle এ পরিবর্তন করে এবং ইনপুট টাইপ সেট করে আপনার EditText ভিউ স্টাইল করুন।

ধাপ 1: ইঙ্গিত পাঠ্য যোগ করুন

  1. string.xml ফাইলে ইঙ্গিতটির জন্য একটি নতুন স্ট্রিং সংস্থান যোগ করুন।
<string name="what_is_your_nickname">What is your Nickname?</string>
  1. EditText ভিউতে নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করতে বৈশিষ্ট্য ফলকটি ব্যবহার করুন:

বৈশিষ্ট্য

মান

style

NameStyle

textAlignment

(কেন্দ্র)

hint

@string/what_is_your_nickname

  1. অ্যাট্রিবিউট প্যানে, text অ্যাট্রিবিউট থেকে Name মান সরিয়ে দিন। text অ্যাট্রিবিউট মান খালি থাকা দরকার যাতে ইঙ্গিতটি প্রদর্শিত হয়।

ধাপ 2: inputType অ্যাট্রিবিউট সেট করুন

inputType অ্যাট্রিবিউট নির্দিষ্ট করে যে ধরনের ইনপুট ব্যবহারকারীরা EditText ভিউতে প্রবেশ করতে পারেন। অ্যান্ড্রয়েড সিস্টেম ইনপুট প্রকার সেটের উপর নির্ভর করে উপযুক্ত ইনপুট ক্ষেত্র এবং অন-স্ক্রীন কীবোর্ড প্রদর্শন করে।

সম্ভাব্য সব ধরনের ইনপুট দেখতে, অ্যাট্রিবিউট প্যানে, inputType ক্ষেত্রে ক্লিক করুন, অথবা ক্ষেত্রের পাশে তিনটি বিন্দুতে ক্লিক করুন ... একটি তালিকা খোলে যা বর্তমানে সক্রিয় ইনপুট প্রকার চেক করা সহ আপনি ব্যবহার করতে পারেন এমন সব ধরনের ইনপুট দেখায়৷ আপনি একাধিক ইনপুট প্রকার নির্বাচন করতে পারেন।

উদাহরণস্বরূপ, পাসওয়ার্ডের জন্য, textPassword মান ব্যবহার করুন। পাঠ্য ক্ষেত্র ব্যবহারকারীর ইনপুট লুকিয়ে রাখে।

ফোন নম্বরের জন্য, phone মান ব্যবহার করুন। একটি সংখ্যা কীপ্যাড প্রদর্শিত হয়, এবং ব্যবহারকারী শুধুমাত্র সংখ্যা লিখতে পারেন।

ডাকনাম ক্ষেত্রের জন্য ইনপুট প্রকার সেট করুন:

  1. nickname_edit সম্পাদনা পাঠের জন্য textPersonNameinputType বৈশিষ্ট্য সেট করুন
  2. কম্পোনেন্ট ট্রি প্যানে, একটি autoFillHints সতর্কতা লক্ষ্য করুন। এই সতর্কতা এই অ্যাপে প্রযোজ্য নয় এবং এই কোডল্যাবের সুযোগের বাইরে, তাই আপনি এটি উপেক্ষা করতে পারেন। (আপনি যদি অটোফিল সম্পর্কে আরও জানতে চান, অটোফিলের জন্য আপনার অ্যাপটি অপ্টিমাইজ করুন দেখুন।)
  3. অ্যাট্রিবিউট প্যানে, EditText ভিউ-এর নিম্নলিখিত অ্যাট্রিবিউটের মান যাচাই করুন:

বৈশিষ্ট্য

মান

id

nickname_edit

layout_width

match_parent (ডিফল্ট)

layout_height

wrap_content (ডিফল্ট)

style

@style/NameStyle

inputType

textPersonName

hint

"@string/what_is_your_nickname"

text

(খালি)

একটি Button একটি UI উপাদান যা ব্যবহারকারী একটি ক্রিয়া সম্পাদন করতে আলতো চাপতে পারে৷ একটি বোতামে পাঠ্য, একটি আইকন, বা পাঠ্য এবং একটি আইকন উভয়ই থাকতে পারে।

এই টাস্কে, আপনি একটি DONE বোতাম যোগ করুন, যা ব্যবহারকারী একটি ডাকনাম প্রবেশ করার পরে ট্যাপ করে। বোতামটি TextView ভিউ দিয়ে EditText টেক্সট ভিউ অদলবদল করে যা ডাকনাম প্রদর্শন করে। ডাকনাম আপডেট করতে, ব্যবহারকারী TextView ভিউ ট্যাপ করতে পারেন।

ধাপ 1: একটি সম্পন্ন বোতাম যোগ করুন

  1. প্যালেট ফলক থেকে কম্পোনেন্ট ট্রিতে একটি বোতাম টেনে আনুন। nickname_edit সম্পাদনা পাঠ্যের নীচে বোতামটি রাখুন।

  2. done নামে একটি নতুন স্ট্রিং সংস্থান তৈরি করুন। স্ট্রিংটিকে Done এর একটি মান দিন,
<string name="done">Done</string>
  1. নতুন যোগ করা Button ভিউতে নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করতে বৈশিষ্ট্য ফলকটি ব্যবহার করুন:

বৈশিষ্ট্য

মূল্যবোধ

id

done_button

text

@string/done

layout_gravity

center_horizontal

layout_width

wrap_content

layout_gravity অ্যাট্রিবিউটটি তার মূল লেআউট, LinearLayout এ ভিউকে কেন্দ্র করে।

  1. স্টাইলটিকে Widget.AppCompat.Button.Colored এ পরিবর্তন করুন, যা Android প্রদান করে এমন একটি পূর্বনির্ধারিত শৈলী। আপনি ড্রপ-ডাউন বা সম্পদ উইন্ডো থেকে শৈলী নির্বাচন করতে পারেন।



    এই শৈলী বোতামের রঙকে অ্যাকসেন্ট রঙে পরিবর্তন করে, colorAccent । অ্যাকসেন্ট রঙ res/values/colors.xml ফাইলে সংজ্ঞায়িত করা হয়েছে।


colors.xml ফাইলে আপনার অ্যাপের জন্য ডিফল্ট রং রয়েছে। আপনার অ্যাপের প্রয়োজনীয়তার উপর ভিত্তি করে আপনি নতুন রঙের সংস্থান যোগ করতে পারেন বা আপনার প্রকল্পে বিদ্যমান রঙের সংস্থানগুলি পরিবর্তন করতে পারেন।

নমুনা colors.xml ফাইল:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="colorPrimary">#008577</color>
   <color name="colorPrimaryDark">#00574B</color>
   <color name="colorAccent">#D81B60</color>
</resources>

ধাপ 2: DONE বোতামটি স্টাইল করুন

  1. বৈশিষ্ট্য ফলকে, Layout_Margin > Top নির্বাচন করে একটি শীর্ষ মার্জিন যোগ করুন। উপরের মার্জিনটিকে layout_margin এ সেট করুন, যা dimens.xml ফাইলে সংজ্ঞায়িত করা হয়েছে।


  2. ড্রপ-ডাউন মেনু থেকে roboto fontFamily অ্যাট্রিবিউট সেট করুন।


  3. টেক্সট ট্যাবে স্যুইচ করুন এবং নতুন যোগ করা বোতামের জন্য জেনারেট করা XML কোড যাচাই করুন।
<Button
   android:id="@+id/done_button"
   style="@style/Widget.AppCompat.Button.Colored"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center_horizontal"
   android:layout_marginTop="@dimen/layout_margin"
   android:fontFamily="@font/roboto"
   android:text="@string/done" />

ধাপ 3: রঙের সংস্থান পরিবর্তন করুন

এই ধাপে, আপনি আপনার কার্যকলাপের অ্যাপ বারের সাথে মেলে বোতামের অ্যাকসেন্ট রঙ পরিবর্তন করুন।

  1. res/values/colors.xml খুলুন এবং colorAccent এর মান #76bf5e এ পরিবর্তন করুন।
<color name="colorAccent">#76bf5e</color>

আপনি ফাইল সম্পাদকের বাম মার্জিনে, HEX কোডের সাথে সম্পর্কিত রঙ দেখতে পারেন।

ডিজাইন এডিটরে বোতামের রঙের পরিবর্তন লক্ষ্য করুন।

  1. আপনার অ্যাপ চালান। আপনি সম্পাদনা পাঠ্যের নীচে একটি স্টাইল করা সম্পন্ন বোতাম দেখতে পাবেন।


ব্যবহারকারী একটি ডাকনাম প্রবেশ করান এবং সম্পন্ন বোতামে ট্যাপ করার পরে, ডাকনামটি TextView ভিউ ভিউতে প্রদর্শিত হয়। এই টাস্কে, আপনি একটি রঙিন ব্যাকগ্রাউন্ড সহ একটি টেক্সট ভিউ যোগ করুন। টেক্সট ভিউ star_image উপরে ব্যবহারকারীর ডাকনাম প্রদর্শন করে।

ধাপ 1: ডাকনামের জন্য একটি TextView যোগ করুন

  1. প্যালেট ফলক থেকে কম্পোনেন্ট ট্রিতে একটি পাঠ্য দৃশ্য টেনে আনুন। টেক্সট ভিউটি done_button নিচে এবং star_image উপরে রাখুন।


  2. নতুন TextView ভিউয়ের জন্য নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করতে বৈশিষ্ট্য ফলকটি ব্যবহার করুন:

বৈশিষ্ট্য

মান

id

nickname_text

style

NameStyle

textAlignment

(কেন্দ্র)

ধাপ 2: TextView এর দৃশ্যমানতা পরিবর্তন করুন

আপনি visibility বৈশিষ্ট্য ব্যবহার করে আপনার অ্যাপে ভিউ দেখাতে বা লুকাতে পারেন। এই বৈশিষ্ট্যটি তিনটি মানগুলির মধ্যে একটি নেয়:

  • visible : দৃশ্য দৃশ্যমান।
  • Invisible : দৃশ্যটি লুকিয়ে রাখে, কিন্তু দৃশ্যটি এখনও লেআউটে স্থান নেয়।
  • gone : ভিউ লুকিয়ে রাখে এবং ভিউ লেআউটে কোনো জায়গা নেয় না।
  1. অ্যাট্রিবিউট প্যানে, nickname_text টেক্সট ভিউ-এর visibility সেট করুন gone , কারণ আপনি চান না যে আপনার অ্যাপটি প্রথমে এই টেক্সট ভিউ দেখাক।



    লক্ষ্য করুন যে আপনি অ্যাট্রিবিউট প্যানে অ্যাট্রিবিউট পরিবর্তন করার সাথে সাথে ডিজাইন এডিটর থেকে nickname_text ভিউ অদৃশ্য হয়ে যাবে। লেআউট প্রিভিউতে ভিউ লুকানো আছে।
  2. nickname_text ভিউ-এর text অ্যাট্রিবিউট মান একটি খালি স্ট্রিং-এ পরিবর্তন করুন।

এই TextView জন্য আপনার জেনারেট করা XML কোড এর মতো দেখতে হবে:

<TextView
   android:id="@+id/nickname_text"
   style="@style/NameStyle"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:textAlignment="center"
   android:visibility="gone"
   android:text="" />

আপনার লেআউট পূর্বরূপ নিম্নলিখিত মত কিছু দেখতে হবে:

Button অবজেক্টের একটি ক্লিক হ্যান্ডলার (অথবা যেকোনো ভিউতে) বোতামটি (ভিউ) ট্যাপ করার সময় সঞ্চালিত ক্রিয়াটি নির্দিষ্ট করে। যে ফাংশনটি ক্লিক ইভেন্ট পরিচালনা করে সেটি Activity প্রয়োগ করা উচিত যা বোতাম (ভিউ) সহ লেআউট হোস্ট করে।

ক্লিক শ্রোতার সাধারণভাবে এই বিন্যাস রয়েছে, যেখানে পাস করা ভিউ হল সেই ভিউ যা ক্লিক বা ট্যাপ পেয়েছে।

private fun clickHandlerFunction(viewThatIsClicked: View) {
// Add code to perform the button click event
}

আপনি ক্লিক-লিসেনার ফাংশনটি বোতামে ক্লিক ইভেন্টে দুটি উপায়ে সংযুক্ত করতে পারেন:

  • XML লেআউটে, আপনি <Button> উপাদানটিতে android:onClick বৈশিষ্ট্য যোগ করতে পারেন। যেমন:
<Button
   android:id="@+id/done_button"
   android:text="@string/done"
   ...
   android:onClick="clickHandlerFunction"/>

বা

  • আপনি setOnClickListener এ কল করে Activity onCreate() এ রানটাইমে প্রোগ্রাম্যাটিকভাবে এটি করতে পারেন। যেমন:
myButton.setOnClickListener {
   clickHanderFunction(it)
}

এই কাজটিতে, আপনি প্রোগ্রামগতভাবে done_button জন্য একটি ক্লিক শ্রোতা যোগ করুন। আপনি সংশ্লিষ্ট কার্যকলাপে ক্লিক শ্রোতা যোগ করুন, যা MainActivity.kt

আপনার ক্লিক-শ্রোতা ফাংশন, যাকে বলা হয় addNickname , নিম্নলিখিত কাজ করবে:

  • nickname_edit edit text থেকে লেখাটি পান।
  • nickname_text টেক্সট ভিউতে টেক্সট সেট করুন।
  • সম্পাদনা পাঠ্য এবং বোতামটি লুকান।
  • ডাকনাম TextView প্রদর্শন করুন।

ধাপ 1: একটি ক্লিক শ্রোতা যোগ করুন

  1. অ্যান্ড্রয়েড স্টুডিওতে, java ফোল্ডারে, MainActivity.kt ফাইলটি খুলুন।
  2. MainActivity.kt এ, MainActivity ক্লাসের ভিতরে, addNickname নামে একটি ফাংশন যোগ করুন। view অফ টাইপ View নামে একটি ইনপুট প্যারামিটার অন্তর্ভুক্ত করুন। view প্যারামিটার হল সেই View যার উপর ফাংশন বলা হয়। এই ক্ষেত্রে, view আপনার সম্পন্ন বোতামের একটি উদাহরণ হবে।
private fun addNickname(view: View) {
}
  1. addNickname ফাংশনের ভিতরে, nickname_edit সম্পাদনা টেক্সট এবং nickname_text টেক্সট ভিউ-এর রেফারেন্স পেতে findViewById() ব্যবহার করুন।
val editText = findViewById<EditText>(R.id.nickname_edit)
val nicknameTextView = findViewById<TextView>(R.id.nickname_text)
  1. nicknameTextView টেক্সট ভিউতে টেক্সট সেট করুন যেটি ব্যবহারকারী editText এ প্রবেশ করেছেন, text প্রপার্টি থেকে এটি পাচ্ছেন।
nicknameTextView.text = editText.text
  1. View.GONEeditText এর visibility বৈশিষ্ট্য সেট করে ডাকনাম EditText ভিউ লুকান।

আগের টাস্কে, আপনি লেআউট এডিটর ব্যবহার করে visibility বৈশিষ্ট্য পরিবর্তন করেছেন। এখানে আপনি একই জিনিস প্রোগ্রাম্যাটিকভাবে করবেন।

editText.visibility = View.GONE
  1. visibility বৈশিষ্ট্য View.GONE এ সেট করে সম্পন্ন বোতামটি লুকান। আপনার কাছে ইতিমধ্যেই ফাংশনের ইনপুট প্যারামিটার হিসাবে বোতামের রেফারেন্স রয়েছে, view
view.visibility = View.GONE
  1. addNickname ফাংশনের শেষে, ডাকনাম TextView ভিউ এর visibility বৈশিষ্ট্য View.VISIBLE এ সেট করে দৃশ্যমান করুন।
nicknameTextView.visibility = View.VISIBLE

ধাপ 2: সম্পন্ন বোতামে ক্লিক শ্রোতাকে সংযুক্ত করুন

এখন আপনার কাছে একটি ফাংশন রয়েছে যা সম্পন্ন করা বোতামটি ট্যাপ করার সময় সঞ্চালিত ক্রিয়াটি সংজ্ঞায়িত করে, আপনাকে Button ভিউতে ফাংশনটি সংযুক্ত করতে হবে।

  1. MainActivity.kt এ, onCreate() ফাংশনের শেষে, DONE Button ভিউ-এর একটি রেফারেন্স পান। findViewById() ফাংশন ব্যবহার করুন এবং setOnClickListener কল করুন। ক্লিক-লিসেনার ফাংশনের একটি রেফারেন্সে পাস করুন, addNickname()
findViewById<Button>(R.id.done_button).setOnClickListener {
            addNickname(it)
        }

উপরের কোডে, it done_button বোঝায়, যা আর্গুমেন্ট হিসাবে পাস করা ভিউ।

  1. আপনার অ্যাপটি চালান, একটি ডাকনাম লিখুন এবং সম্পন্ন বোতামে আলতো চাপুন। লক্ষ্য করুন কিভাবে সম্পাদনা পাঠ্য এবং বোতামটি ডাকনাম পাঠ্য দৃশ্য দ্বারা প্রতিস্থাপিত হয়।

লক্ষ্য করুন যে ব্যবহারকারী ডন বোতামটি ট্যাপ করার পরেও কীবোর্ডটি এখনও দৃশ্যমান। এই আচরণ ডিফল্ট.

ধাপ 3: কীবোর্ড লুকান

এই ধাপে, ব্যবহারকারী ডন বোতামে ট্যাপ করার পরে আপনি কীবোর্ড লুকানোর জন্য কোড যোগ করুন।

  1. MainActivity.kt এ, addNickname() ফাংশনের শেষে, নিম্নলিখিত কোডটি যোগ করুন। এই কোডটি কীভাবে কাজ করে সে সম্পর্কে আপনি যদি আরও তথ্য চান, তাহলে hideSoftInputFromWindow ডকুমেন্টেশন দেখুন।
// Hide the keyboard.
val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)
  1. আপনার অ্যাপটি আবার চালান। লক্ষ্য করুন যে আপনি হয়ে গেছে আলতো চাপার পরে, কীবোর্ডটি লুকিয়ে আছে।

ডন বোতামে ট্যাপ করার পর ব্যবহারকারীর ডাকনাম পরিবর্তন করার কোনো উপায় নেই। পরবর্তী টাস্কে, আপনি অ্যাপটিকে আরও ইন্টারেক্টিভ করুন এবং কার্যকারিতা যোগ করুন যাতে ব্যবহারকারী ডাকনাম আপডেট করতে পারে।

এই টাস্কে, আপনি ডাকনাম টেক্সট ভিউতে একটি ক্লিক লিসেনার যোগ করুন। ক্লিক লিসেনার ডাকনাম টেক্সট ভিউ লুকিয়ে রাখে, এডিট টেক্সট দেখায় এবং ডন বোতাম দেখায়।

ধাপ 1: একটি ক্লিক শ্রোতা যোগ করুন

  1. MainActivity এ, ডাকনাম পাঠ্য দর্শনের জন্য updateNickname(view: View) নামে একটি ক্লিক-লিসেনার ফাংশন যোগ করুন।
private fun updateNickname (view: View) {
}
  1. updateNickname ফাংশনের ভিতরে, nickname_edit সম্পাদনা টেক্সটের একটি রেফারেন্স পান এবং DONE বোতামে একটি রেফারেন্স পান। এটি করতে, findViewById() পদ্ধতি ব্যবহার করুন।
val editText = findViewById<EditText>(R.id.nickname_edit)
val doneButton = findViewById<Button>(R.id.done_button)
  1. updateNickname ফাংশনের শেষে, সম্পাদনা টেক্সট দেখানোর জন্য কোড যোগ করুন, DONE বোতাম দেখান এবং টেক্সট ভিউ লুকান।
editText.visibility = View.VISIBLE
doneButton.visibility = View.VISIBLE
view.visibility = View.GONE
  1. MainActivity.kt এ, onCreate() ফাংশনের শেষে, nickname_text টেক্সট ভিউতে setOnClickListener কল করুন। ক্লিক-লিসেনার ফাংশনের একটি রেফারেন্সে পাস করুন, যা হল updateNickname()
findViewById<TextView>(R.id.nickname_text).setOnClickListener {
   updateNickname(it)
}
  1. আপনার অ্যাপ চালান। একটি ডাকনাম লিখুন, সম্পন্ন বোতামে আলতো চাপুন, তারপর ডাকনাম TextView ভিউতে আলতো চাপুন। ডাকনাম দৃশ্যটি অদৃশ্য হয়ে যায় এবং সম্পাদনা পাঠ্য এবং সম্পন্ন বোতামটি দৃশ্যমান হয়।


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

ধাপ 2: EditText ভিউতে ফোকাস সেট করুন এবং কীবোর্ড দেখান

  1. updateNickname ফাংশনের শেষে, EditText ভিউতে ফোকাস সেট করুন। requestFocus() পদ্ধতি ব্যবহার করুন।
// Set the focus to the edit text.
editText.requestFocus()
  1. updateNickname ফাংশনের শেষে, কীবোর্ডটি দৃশ্যমান করতে কোড যোগ করুন।
// Show the keyboard.
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.showSoftInput(editText, 0)

ধাপ 3: ডাকনাম TextView ভিউতে একটি পটভূমির রঙ যোগ করুন

  1. nickname_text টেক্সট ভিউয়ের পটভূমির রঙ @color/colorAccent এ সেট করুন এবং @dimen/small_padding এর নিচের প্যাডিং যোগ করুন। এই পরিবর্তনগুলি ব্যবহারকারীর কাছে একটি ইঙ্গিত হিসাবে কাজ করবে যে ডাকনাম পাঠ্য দৃশ্যটি ক্লিকযোগ্য।
android:background="@color/colorAccent"
android:paddingBottom="@dimen/small_padding"
  1. আপনার চূড়ান্ত অ্যাপ্লিকেশন চালান. সম্পাদনা পাঠ্যটিতে ফোকাস রয়েছে, ডাকনাম সম্পাদনা পাঠে প্রদর্শিত হয় এবং ডাকনাম পাঠ্য দৃশ্যটি স্টাইল করা হয়।

এখন বন্ধুকে আপনার ইন্টারেক্টিভ AboutMe অ্যাপ দেখান!

অ্যান্ড্রয়েড স্টুডিও প্রকল্প: AboutMeInteractive

  • অ্যান্ড্রয়েড স্টুডিওতে লেআউট এডিটর টুল হল একটি ভিজ্যুয়াল ডিজাইন এডিটর। আপনি আপনার লেআউটে UI উপাদানগুলিকে টেনে এনে আপনার অ্যাপের বিন্যাস তৈরি করতে লেআউট সম্পাদক ব্যবহার করতে পারেন।
  • EditText হল একটি UI উপাদান যা ব্যবহারকারীকে টেক্সট প্রবেশ ও পরিবর্তন করতে দেয়।
  • একটি Button একটি UI উপাদান যা ব্যবহারকারী একটি ক্রিয়া সম্পাদন করতে আলতো চাপতে পারে৷ একটি বোতামে পাঠ্য, একটি আইকন, বা পাঠ্য এবং একটি আইকন উভয়ই থাকতে পারে।

শ্রোতা ক্লিক করুন

  • আপনি এটিতে একটি ক্লিক শ্রোতা যোগ করে যেকোন View ট্যাপ করার প্রতিক্রিয়া তৈরি করতে পারেন।
  • যে ফাংশনটি ক্লিক শ্রোতাকে সংজ্ঞায়িত করে সেটি ক্লিক করা View পায়।

আপনি দুটি উপায়ে একটি View একটি ক্লিক-শ্রোতা ফাংশন সংযুক্ত করতে পারেন:

  • XML লেআউটে, < View > উপাদানটিতে android:onClick বৈশিষ্ট্য যোগ করুন।
  • প্রোগ্রামগতভাবে, সংশ্লিষ্ট Activity setOnClickListener(View.OnClickListener) ফাংশনটি ব্যবহার করুন।

উদাসীনতা কোর্স:

অ্যান্ড্রয়েড বিকাশকারী ডকুমেন্টেশন:

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

  • প্রয়োজনে হোমওয়ার্ক বরাদ্দ করুন।
  • শিক্ষার্থীদের সাথে যোগাযোগ করুন কিভাবে হোমওয়ার্ক অ্যাসাইনমেন্ট জমা দিতে হয়।
  • হোমওয়ার্ক অ্যাসাইনমেন্ট গ্রেড.

প্রশিক্ষকরা এই পরামর্শগুলি যতটা কম বা যতটা চান ততটা ব্যবহার করতে পারেন, এবং তাদের উপযুক্ত মনে করে অন্য কোনও হোমওয়ার্ক বরাদ্দ করতে নির্দ্বিধায় করা উচিত।

আপনি যদি নিজে থেকে এই কোডল্যাবের মাধ্যমে কাজ করে থাকেন, তাহলে আপনার জ্ঞান পরীক্ষা করার জন্য এই হোমওয়ার্ক অ্যাসাইনমেন্টগুলিকে নির্দ্বিধায় ব্যবহার করুন৷

এই প্রশ্নগুলোর উত্তর দাও

প্রশ্ন 1

EditText একটি সাবক্লাস কি?

  • View
  • LinearLayout
  • TextView
  • Button

প্রশ্ন 2

নিচের কোন visibility অ্যাট্রিবিউটের মান, যদি একটি ভিউতে সেট করা থাকে, তাহলে ভিউটি লুকানো থাকে এবং লেআউটে কোনো জায়গা নেয় না?

  • visible
  • Invisible
  • gone
  • hide

প্রশ্ন 3

EditText ভিউগুলির জন্য, ইঙ্গিত প্রদান করা একটি ভাল অভ্যাস নয়, কারণ ইঙ্গিতগুলি ইনপুট ক্ষেত্রকে বিশৃঙ্খল করে। সত্য না মিথ্যা?

  • সত্য
  • মিথ্যা

প্রশ্ন 4

নিচের কোন বিবৃতিটি Button ভিউ সম্পর্কে সত্য?

  • একটি Button ভিউ একটি ভিউ গ্রুপ।
  • আপনি প্রতি স্ক্রিনে শুধুমাত্র তিনটি Button দর্শন থাকতে পারেন।
  • Button দর্শনগুলি ক্লিকযোগ্য, এবং ক্লিকে, সংযুক্ত ক্লিক শ্রোতা একটি ক্রিয়া সম্পাদন করে৷
  • Button হল ImageView এর একটি এক্সটেনশন।

পরবর্তী পাঠ শুরু করুন: 2.3: লেআউট এডিটর ব্যবহার করে সীমাবদ্ধতা লেআউট

এই কোর্সে অন্যান্য কোডল্যাবগুলির লিঙ্কগুলির জন্য, Android Kotlin Fundamentals codelabs ল্যান্ডিং পৃষ্ঠাটি দেখুন।