این کد لبه بخشی از دوره آموزشی Android Kotlin Fundamentals است. اگر به ترتیب روی کدها کار کنید، بیشترین ارزش را از این دوره خواهید گرفت. همه کد لبه های دوره در صفحه فرود کد لبه های Android Kotlin Fundamentals فهرست شده اند.
آنچه از قبل باید بدانید
- ایجاد یک برنامه پایه اندروید در Kotlin.
- اجرای یک برنامه اندروید روی شبیه ساز یا دستگاه.
- ایجاد طرحبندی خطی با استفاده از ویرایشگر طرحبندی Android Studio.
- ایجاد یک برنامه ساده که از
LinearLayout
،TextView
،ScrollView
و یک دکمه با کنترل کننده کلیک استفاده می کند.
چیزی که یاد خواهید گرفت
- نحوه دریافت ورودی کاربر با استفاده از نمای
EditText
. - نحوه تنظیم متن به نمای
TextView
با استفاده از متن از نمایEditText
. - نحوه کار با
View
وViewGroup
. - چگونه نمایان بودن یک
View
را تغییر دهیم.
کاری که خواهی کرد
- تعامل را به برنامه AboutMe اضافه کنید، که از یک کد قبلی است.
- یک
EditText
اضافه کنید تا کاربر بتواند متن را وارد کند. - یک
Button
اضافه کنید و کنترل کننده کلیک آن را پیاده سازی کنید.
در این لبه کد، برنامه AboutMe را برای افزودن تعامل کاربر گسترش می دهید. شما یک فیلد نام مستعار، یک دکمه DONE و یک نمای متنی برای نمایش نام مستعار اضافه می کنید. هنگامی که کاربر یک نام مستعار را وارد کرد و روی دکمه انجام شد ضربه زد، نمای متن به روز می شود تا نام مستعار وارد شده را نشان دهد. کاربر می تواند با ضربه زدن روی نمای متن، نام مستعار را دوباره به روز کند.
در این کار، یک فیلد ورودی EditText
اضافه میکنید تا کاربر بتواند نام مستعار را وارد کند.
مرحله 1: شروع کنید
- اگر قبلاً برنامه AboutMe را از آزمایشگاه کد قبلی ندارید، کد شروع، AboutMeInteractive-Starter را دانلود کنید. این همان کدی است که در یک کد لبه قبلی به پایان رساندید.
- پروژه AboutMeInteractive-Starter را در Android Studio باز کنید.
- برنامه را اجرا کنید. یک نمای متن نام، یک تصویر ستاره و یک بخش طولانی از متن را در نمای پیمایشی مشاهده می کنید.
توجه داشته باشید که کاربر نمی تواند هیچ یک از متن ها را تغییر دهد.
اگر کاربر بتواند با برنامه تعامل داشته باشد، برنامهها جالبتر هستند، برای مثال اگر کاربر بتواند متن را وارد کند. برای پذیرش ورودی متن، Android یک ویجت رابط کاربری (UI) به نام ویرایش متن ارائه میکند. شما یک متن ویرایشی را با استفاده از EditText
، زیر کلاس TextView
تعریف می کنید. یک متن ویرایش به کاربر اجازه می دهد تا ورودی متن را وارد کرده و تغییر دهد، همانطور که در تصویر زیر نشان داده شده است.
مرحله 2: یک EditText اضافه کنید
- در Android Studio، فایل layout
activity_main.xml
را در تب Design باز کنید. - در قسمت پالت ، روی متن کلیک کنید.
Ab TextView ، که یکTextView
است، در بالای لیست عناصر متنی در صفحه پالت نشان داده می شود. در زیر Ab TextView چندین نماEditText
وجود دارد.
در صفحه پالت ، توجه کنید که چگونه نمادTextView
حروف Ab را بدون خط زیر نشان می دهد. با این حال، نمادهایEditText
، Ab را زیرخط نشان می دهند. زیر خط نشان می دهد که نما قابل ویرایش است.
برای هر یک از نماهایEditText
، Android ویژگی های مختلفی را تنظیم می کند و سیستم روش ورودی نرم مناسب (مانند صفحه کلید روی صفحه) را نمایش می دهد. - یک متن ویرایش PlainText را در Component Tree بکشید و آن را زیر
name_text
و بالایstar_image
قرار دهید. - از پنجره Attributes برای تنظیم ویژگی های زیر در نمای
EditText
استفاده کنید.
صفت | ارزش |
| |
| |
| |
- برنامه خود را اجرا کنید در بالای تصویر ستاره، یک متن ویرایش با متن پیشفرض «Name» را مشاهده میکنید.
در این کار، نمای EditText
خود را با اضافه کردن یک اشاره، تغییر ترازبندی متن، تغییر سبک به NameStyle
و تنظیم نوع ورودی، استایل میدهید.
مرحله 1: متن راهنمایی را اضافه کنید
- یک منبع رشته جدید برای اشاره در فایل
string.xml
اضافه کنید.
<string name="what_is_your_nickname">What is your Nickname?</string>
- از پنجره Attributes برای تنظیم ویژگی های زیر در نمای
EditText
استفاده کنید:
صفت | ارزش |
| |
|
|
| |
- در قسمت Attributes ، مقدار
Name
را از ویژگیtext
حذف کنید. مقدار ویژگیtext
باید خالی باشد تا راهنمایی نمایش داده شود.
مرحله 2: ویژگی inputType را تنظیم کنید
ویژگی inputType
نوع ورودی را که کاربران می توانند در نمای EditText
وارد کنند را مشخص می کند. سیستم Android، بسته به نوع ورودی، فیلد ورودی مناسب و صفحهکلید روی صفحه را نمایش میدهد.
برای دیدن همه انواع ورودی های ممکن، در قسمت Attributes ، روی فیلد inputType
کلیک کنید یا روی سه نقطه ... کنار فیلد کلیک کنید. فهرستی باز میشود که همه انواع ورودیهایی را که میتوانید استفاده کنید نشان میدهد و نوع ورودی فعال فعلی علامت زده شده است. شما می توانید بیش از یک نوع ورودی را انتخاب کنید.
به عنوان مثال، برای رمزهای عبور، از مقدار textPassword
استفاده کنید. فیلد متن ورودی کاربر را پنهان می کند.
برای شماره تلفن، از مقدار phone
استفاده کنید. یک صفحه کلید عددی نمایش داده می شود و کاربر فقط می تواند اعداد را وارد کند.
نوع ورودی را برای فیلد نام مستعار تنظیم کنید:
- ویژگی
inputType
را بهtextPersonName
برایnickname_edit
ویرایش متن تنظیم کنید . - در قسمت Component Tree ، به یک هشدار
autoFillHints
توجه کنید. این اخطار در مورد این برنامه صدق نمی کند و خارج از محدوده این کد لبه است، بنابراین می توانید آن را نادیده بگیرید. (اگر می خواهید درباره تکمیل خودکار اطلاعات بیشتری کسب کنید، به بهینه سازی برنامه خود برای تکمیل خودکار مراجعه کنید.) - در قسمت Attributes ، مقادیر ویژگیهای زیر نمای
EditText
را تأیید کنید:
صفت | ارزش |
| |
| |
| |
| |
| |
| |
| (خالی) |
Button
یک عنصر رابط کاربری است که کاربر می تواند برای انجام یک عمل روی آن ضربه بزند. یک دکمه می تواند شامل متن، نماد یا هر دو متن و نماد باشد.
در این کار، دکمه DONE را اضافه میکنید که کاربر پس از وارد کردن نام مستعار، روی آن ضربه میزند. این دکمه نمای EditText
با نمای TextView
که نام مستعار را نمایش می دهد تعویض می کند. برای بهروزرسانی نام مستعار، کاربر میتواند روی نمای TextView
ضربه بزند.
مرحله 1: یک دکمه DONE اضافه کنید
- یک دکمه را از صفحه پالت به درخت Component بکشید. دکمه را زیر
nickname_edit
edit text قرار دهید. - یک منبع رشته جدید با نام
done
ایجاد کنید. به رشته مقدارDone
بدهید،
<string name="done">Done</string>
- از پنجره Attributes برای تنظیم ویژگی های زیر در نمای
Button
جدید اضافه شده استفاده کنید:
صفت | ارزش ها |
| |
| |
| |
| |
ویژگی layout_gravity
نمای را در طرح اصلی خود، LinearLayout
متمرکز می کند.
- استایل را به
Widget.AppCompat.Button.Colored
تغییر دهید که یکی از سبک های از پیش تعریف شده ای است که اندروید ارائه می کند. می توانید سبک را از پنجره کشویی یا از پنجره منابع انتخاب کنید.
این سبک رنگ دکمه را به رنگ تاکیدی،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 را استایل کنید
- در قسمت Attributes ، با انتخاب Layout_Margin > Top، یک حاشیه بالا اضافه کنید. حاشیه بالایی را روی
layout_margin
قرار دهید که در فایلdimens.xml
تعریف شده است. - ویژگی
fontFamily
را از منوی کشویی رویroboto
قرار دهید. - به تب Text بروید و کد 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: منبع رنگ را تغییر دهید
در این مرحله، رنگ تاکیدی دکمه را برای مطابقت با نوار برنامه فعالیت خود تغییر می دهید.
-
res/values/colors.xml
را باز کنید و مقدارcolorAccent
را به#76bf5e
تغییر دهید.
<color name="colorAccent">#76bf5e</color>
می توانید رنگ مربوط به کد HEX را در حاشیه سمت چپ ویرایشگر فایل مشاهده کنید.
به تغییر رنگ دکمه در ویرایشگر طراحی توجه کنید.
- برنامه خود را اجرا کنید باید یک دکمه DONE استایل شده را در زیر متن ویرایش ببینید.
پس از اینکه کاربر یک نام مستعار را وارد کرد و روی دکمه DONE ضربه زد، نام مستعار در نمای TextView
نمایش داده می شود. در این کار، یک نمای متنی با پس زمینه رنگی اضافه می کنید. نمای متن نام مستعار کاربر را در بالای star_image
نمایش می دهد.
مرحله 1: یک TextView برای نام مستعار اضافه کنید
- نمای متنی را از صفحه پالت به درخت کامپوننت بکشید. نمای متن را زیر دکمه
done_button
و بالایstar_image
قرار دهید. - از پنجره Attributes برای تنظیم ویژگی های زیر برای نمای
TextView
جدید استفاده کنید:
صفت | ارزش |
| |
| |
|
|
مرحله 2: قابلیت مشاهده TextView را تغییر دهید
با استفاده از ویژگی visibility
می توانید نماها را در برنامه خود نشان دهید یا پنهان کنید. این ویژگی یکی از سه مقدار را می گیرد:
-
visible
: نمای قابل مشاهده است. -
Invisible
: نما را پنهان می کند، اما نما همچنان فضایی را در چیدمان اشغال می کند. -
gone
: نما را پنهان می کند و نما هیچ فضایی در چیدمان نمی گیرد.
- در قسمت Attributes ،
visibility
نمای متنیnickname_text
را رویgone
قرار دهید ، زیرا نمیخواهید برنامه شما در ابتدا این نمای متنی را نشان دهد.
توجه داشته باشید که با تغییر ویژگی در قسمت Attributes ، نمایnickname_text
از ویرایشگر طراحی محو می شود. نمای در پیش نمایش طرح بندی پنهان است. - مقدار ویژگی
text
نمایnickname_text
را به یک رشته خالی تغییر دهید.
کد XML تولید شده شما برای این TextView
باید شبیه به این باشد:
<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، می توانید ویژگی
android:onClick
را به عنصر<Button>
اضافه کنید. به عنوان مثال:
<Button
android:id="@+id/done_button"
android:text="@string/done"
...
android:onClick="clickHandlerFunction"/>
یا
- میتوانید در زمان اجرا، در
onCreate()
ازActivity
، با فراخوانیsetOnClickListener
، آن را به صورت برنامهنویسی انجام دهید. به عنوان مثال:
myButton.setOnClickListener {
clickHanderFunction(it)
}
در این کار، یک کلیک شنونده برای done_button
به صورت برنامهنویسی اضافه میکنید. شما شنونده کلیک را به فعالیت مربوطه اضافه می کنید که MainActivity.kt
است.
تابع کلیک-شنونده شما، به نام addNickname
، کارهای زیر را انجام می دهد:
- متن را از
nickname_edit
ویرایش متن دریافت کنید. - متن را در نمای متنی
nickname_text
تنظیم کنید. - متن ویرایش و دکمه را مخفی کنید.
- نمایش نام مستعار
TextView
.
مرحله 1: یک شنونده کلیک اضافه کنید
- در اندروید استودیو، در پوشه
java
، فایلMainActivity.kt
باز کنید. - در
MainActivity.kt
، در داخل کلاسMainActivity
، تابعی به نامaddNickname
اضافه کنید. یک پارامتر ورودی به نامview
از نوعView
را وارد کنید. پارامترview
همانView
است که تابع در آن فراخوانی می شود. در این حالت،view
نمونه ای از دکمه DONE شما خواهد بود.
private fun addNickname(view: View) {
}
- در داخل تابع
addNickname
، ازfindViewById()
استفاده کنید تا به متن ویرایشnickname_edit
و نمای متنnickname_text
ارجاع دهید.
val editText = findViewById<EditText>(R.id.nickname_edit)
val nicknameTextView = findViewById<TextView>(R.id.nickname_text)
- متن را در نمای متنی
nicknameTextView
روی متنی که کاربر درeditText
وارد کرده است، تنظیم کنید و آن را از ویژگیtext
دریافت کنید.
nicknameTextView.text = editText.text
- با تنظیم ویژگی
visibility
editText
رویView.GONE
، نمایEditText
را مخفی کنید.
در کار قبلی، ویژگی visibility
را با استفاده از Layout Editor تغییر دادید. در اینجا شما همان کار را به صورت برنامه نویسی انجام می دهید.
editText.visibility = View.GONE
- با تنظیم ویژگی
visibility
رویView.GONE
، دکمه DONE را پنهان کنید. شما از قبل مرجع دکمه را به عنوان پارامتر ورودی تابع دارید،view
.
view.visibility = View.GONE
- در انتهای تابع
addNickname
، نام مستعار نمایTextView
را با تنظیم ویژگیvisibility
آن رویView.VISIBLE
قابل مشاهده کنید.
nicknameTextView.visibility = View.VISIBLE
مرحله 2: شنونده کلیک را به دکمه DONE وصل کنید
اکنون که تابعی دارید که عملکردی را که باید هنگام ضربه زدن روی دکمه DONE انجام شود را مشخص می کند، باید عملکرد را به نمای Button
متصل کنید.
- در
MainActivity.kt
، در انتهای تابعonCreate()
یک مرجع به نمایButton
انجام شده دریافت کنید. از تابعfindViewById()
استفاده کنید وsetOnClickListener
فراخوانی کنید. یک مرجع به تابع کلیک-شنونده،addNickname()
ارسال کنید.
findViewById<Button>(R.id.done_button).setOnClickListener {
addNickname(it)
}
در کد بالا به done_button
اشاره it
که نمای ارسال شده به عنوان آرگومان است.
- برنامه خود را اجرا کنید، یک نام مستعار وارد کنید و روی دکمه انجام شد ضربه بزنید. توجه کنید که چگونه متن ویرایش و دکمه با نمای متنی نام مستعار جایگزین می شوند.
توجه داشته باشید که حتی پس از ضربه زدن کاربر روی دکمه DONE ، صفحه کلید همچنان قابل مشاهده است. این رفتار پیش فرض است.
مرحله 3: صفحه کلید را مخفی کنید
در این مرحله، پس از ضربه زدن کاربر روی دکمه DONE ، کدی را برای مخفی کردن صفحه کلید اضافه میکنید.
- در
MainActivity.kt
، در انتهای تابعaddNickname()
کد زیر را اضافه کنید. اگر اطلاعات بیشتری در مورد نحوه کار این کد میخواهید، به مستنداتhideSoftInputFromWindow
مراجعه کنید.
// Hide the keyboard.
val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)
- دوباره برنامه خود را اجرا کنید. توجه داشته باشید که پس از ضربه زدن روی DONE، صفحه کلید پنهان می شود.
پس از ضربه زدن روی دکمه انجام شد، راهی برای تغییر نام مستعار توسط کاربر وجود ندارد. در کار بعدی، برنامه را تعاملی تر می کنید و قابلیت هایی را اضافه می کنید تا کاربر بتواند نام مستعار را به روز کند.
در این کار، شنونده کلیکی را به نمای متن نام مستعار اضافه می کنید. شنونده کلیک نمای متن نام مستعار را پنهان می کند، متن ویرایش را نشان می دهد و دکمه DONE را نشان می دهد.
مرحله 1: یک شنونده کلیک اضافه کنید
- در
MainActivity
، یک تابع کلیک-شنونده به نامupdateNickname(view: View)
را برای نمای متنی نام مستعار اضافه کنید.
private fun updateNickname (view: View) {
}
- در داخل تابع
updateNickname
، یک مرجع به متن ویرایشnickname_edit
و یک مرجع به دکمه DONE دریافت کنید. برای این کار از متدfindViewById()
استفاده کنید.
val editText = findViewById<EditText>(R.id.nickname_edit)
val doneButton = findViewById<Button>(R.id.done_button)
- در پایان تابع
updateNickname
، کدی را برای نمایش متن ویرایش اضافه کنید، دکمه DONE را نشان دهید و نمای متن را پنهان کنید.
editText.visibility = View.VISIBLE
doneButton.visibility = View.VISIBLE
view.visibility = View.GONE
- در
MainActivity.kt
، در انتهای تابعonCreate()
،setOnClickListener
در نمای متنیnickname_text
فراخوانی کنید. یک ارجاع به تابع کلیک-شنونده، کهupdateNickname()
است، ارسال کنید.
findViewById<TextView>(R.id.nickname_text).setOnClickListener {
updateNickname(it)
}
- برنامه خود را اجرا کنید یک نام مستعار وارد کنید، روی دکمه DONE ضربه بزنید، سپس روی نام مستعار
TextView
view ضربه بزنید. نمای نام مستعار ناپدید می شود و متن ویرایش و دکمه DONE قابل مشاهده می شوند.
توجه داشته باشید که به طور پیش فرض، نمای EditText
فوکوس ندارد و صفحه کلید قابل مشاهده نیست. برای کاربر دشوار است که بفهمد نمای متن نام مستعار قابل کلیک است. در کار بعدی، فوکوس و یک سبک را به نمای متن نام مستعار اضافه می کنید.
مرحله 2: فوکوس را روی نمای EditText تنظیم کنید و صفحه کلید را نشان دهید
- در پایان تابع
updateNickname
، فوکوس را روی نمایEditText
تنظیم کنید. از متدrequestFocus()
استفاده کنید.
// Set the focus to the edit text.
editText.requestFocus()
- در پایان تابع
updateNickname
، کدی را اضافه کنید تا صفحه کلید قابل مشاهده باشد.
// Show the keyboard.
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.showSoftInput(editText, 0)
مرحله 3: رنگ پس زمینه را به نمای TextView اضافه کنید
- رنگ پسزمینه نمای متنی
nickname_text
را روی@color/colorAccent
تنظیم کنید و یک بالشتک پایینی@dimen/small_padding
اضافه کنید. این تغییرات به عنوان یک اشاره به کاربر نشان می دهد که نمای متن نام مستعار قابل کلیک است.
android:background="@color/colorAccent"
android:paddingBottom="@dimen/small_padding"
- برنامه نهایی خود را اجرا کنید. متن ویرایش فوکوس دارد، نام مستعار در متن ویرایش نمایش داده میشود و نمای متن نام مستعار استایلبندی میشود.
اکنون برنامه تعاملی AboutMe خود را به یک دوست نشان دهید!
پروژه اندروید استودیو: AboutMeInteractive
- ابزار Layout Editor در اندروید استودیو یک ویرایشگر طراحی بصری است. میتوانید از ویرایشگر طرحبندی برای ساختن طرحبندی برنامهتان با کشیدن عناصر رابط کاربری به داخل طرحبندی خود استفاده کنید.
-
EditText
یک عنصر رابط کاربری است که به کاربر اجازه می دهد متن را وارد و تغییر دهد. -
Button
یک عنصر رابط کاربری است که کاربر می تواند برای انجام یک عمل روی آن ضربه بزند. یک دکمه می تواند شامل متن، نماد یا هر دو متن و نماد باشد.
شنوندگان کلیک کنید
- میتوانید با افزودن یک شنونده کلیک به آن، کاری کنید که هر
View
به ضربه زدن پاسخ دهد. - تابعی که شنونده کلیک را تعریف می کند،
View
روی آن را دریافت می کند.
شما می توانید یک تابع کلیک-شنونده را به یکی از دو روش به View
پیوست کنید:
- در طرح XML، ویژگی
android:onClick
را به عنصر<
View
>
اضافه کنید. - به صورت برنامه نویسی، از تابع
setOnClickListener(View.OnClickListener)
درActivity
مربوطه استفاده کنید.
دوره بی ادبی:
مستندات توسعه دهنده اندروید:
این بخش، تکالیف احتمالی را برای دانشآموزانی که در این آزمایشگاه کد به عنوان بخشی از دورهای که توسط یک مربی هدایت میشود، کار میکنند، فهرست میکند. این وظیفه مربی است که موارد زیر را انجام دهد:
- در صورت نیاز تکالیف را تعیین کنید.
- نحوه ارسال تکالیف را با دانش آموزان در میان بگذارید.
- تکالیف را نمره دهید.
مربیان میتوانند از این پیشنهادات به اندازهای که میخواهند استفاده کنند، و باید با خیال راحت هر تکلیف دیگری را که فکر میکنند مناسب است، محول کنند.
اگر به تنهایی از طریق این کدها کار می کنید، از این تکالیف برای آزمایش دانش خود استفاده کنید.
به این سوالات پاسخ دهید
سوال 1
EditText
زیر کلاس چیست؟
-
View
-
LinearLayout
-
TextView
-
Button
سوال 2
کدام یک از مقادیر مشخصه visibility
زیر، اگر روی یک نما تنظیم شود، باعث میشود نما پنهان شود و فضایی در طرحبندی اشغال نشود؟
-
visible
-
Invisible
-
gone
-
hide
سوال 3
برای نماهای EditText
، ارائه نکات تمرین خوبی نیست، زیرا نکات قسمت ورودی را درهم میریزند. درست یا غلط؟
- درست است
- نادرست
سوال 4
کدام یک از عبارات زیر در مورد نماهای Button
درست است؟
- نمای
Button
یک گروه نمایش است. - شما فقط می توانید سه نمایش
Button
در هر صفحه داشته باشید. - نماهای
Button
قابل کلیک هستند و با کلیک، شنونده کلیک پیوست شده عملی را انجام می دهد. -
Button
پسوندImageView
است.
درس بعدی را شروع کنید:
برای پیوند به سایر کدهای این دوره، به صفحه فرود کد لبههای کد پایه Android Kotlin Fundamentals مراجعه کنید.