यह कोडलैब, Android Kotlin Fundamentals कोर्स का हिस्सा है. अगर कोडलैब को क्रम से पूरा किया जाता है, तो आपको इस कोर्स से सबसे ज़्यादा फ़ायदा मिलेगा. कोर्स के सभी कोडलैब, Android Kotlin Fundamentals कोडलैब के लैंडिंग पेज पर दिए गए हैं.
आपको पहले से क्या पता होना चाहिए
- Kotlin में एक बेसिक Android ऐप्लिकेशन बनाना.
- किसी Android ऐप्लिकेशन को एम्युलेटर या डिवाइस पर चलाना.
- Android Studio के Layout Editor का इस्तेमाल करके, लीनियर लेआउट बनाया जा रहा है .
- एक ऐसा सामान्य ऐप्लिकेशन बनाना जो
LinearLayout,TextView,ScrollView, और क्लिक हैंडलर वाले बटन का इस्तेमाल करता हो.
आपको क्या सीखने को मिलेगा
EditTextव्यू का इस्तेमाल करके, उपयोगकर्ता से इनपुट पाने का तरीका.TextViewव्यू में मौजूद टेक्स्ट का इस्तेमाल करके,TextViewव्यू में टेक्स्ट सेट करने का तरीका.EditTextViewऔरViewGroupके साथ काम करने का तरीका.Viewको ऐक्सेस करने की सेटिंग बदलने का तरीका.
आपको क्या करना होगा
- पिछले कोडलैब में बनाए गए AboutMe ऐप्लिकेशन में इंटरैक्टिविटी जोड़ें.
EditTextजोड़ें, ताकि उपयोगकर्ता टेक्स्ट डाल सके.- कोई
Buttonजोड़ें और उसके क्लिक हैंडलर को लागू करें.
इस कोडलैब में, उपयोगकर्ता के इंटरैक्शन जोड़ने के लिए, AboutMe ऐप्लिकेशन को बड़ा किया जाता है. आपने एक निकनेम फ़ील्ड, हो गया बटन, और निकनेम दिखाने के लिए एक टेक्स्ट व्यू जोड़ा है. जब उपयोगकर्ता कोई निकनेम डालता है और हो गया बटन पर टैप करता है, तो टेक्स्ट व्यू अपडेट हो जाता है और उसमें डाला गया निकनेम दिखता है. उपयोगकर्ता, टेक्स्ट व्यू पर टैप करके फिर से उपनाम अपडेट कर सकता है.
|
|
इस टास्क में, आपको EditText इनपुट फ़ील्ड जोड़ना है, ताकि उपयोगकर्ता कोई निकनेम डाल सके.
पहला चरण: शुरू करें
- अगर आपके पास पिछले कोडलैब से AboutMe ऐप्लिकेशन पहले से नहीं है, तो स्टार्टर कोड AboutMeInteractive-Starter डाउनलोड करें. यह वही कोड है जिसे आपने पिछले कोडलैब में पूरा किया था.
- Android Studio में AboutMeInteractive-Starter प्रोजेक्ट खोलें.
- ऐप्लिकेशन चलाएं. आपको स्क्रोल व्यू में नाम का टेक्स्ट व्यू, स्टार इमेज, और टेक्स्ट का लंबा सेगमेंट दिखेगा.

ध्यान दें कि उपयोगकर्ता, किसी भी टेक्स्ट को बदल नहीं सकता.
अगर उपयोगकर्ता किसी ऐप्लिकेशन के साथ इंटरैक्ट कर सकता है, तो वह ज़्यादा दिलचस्प होता है. उदाहरण के लिए, अगर उपयोगकर्ता टेक्स्ट डाल सकता है. टेक्स्ट इनपुट स्वीकार करने के लिए, Android एक यूज़र इंटरफ़ेस (यूआई) विजेट उपलब्ध कराता है. इसे बदलाव किया जा सकने वाला टेक्स्ट कहा जाता है. TextView की सबक्लास EditText का इस्तेमाल करके, एडिट टेक्स्ट तय किया जाता है. बदलाव किए जा सकने वाले टेक्स्ट की मदद से, उपयोगकर्ता टेक्स्ट इनपुट कर सकता है और उसमें बदलाव कर सकता है. इसे नीचे दिए गए स्क्रीनशॉट में दिखाया गया है.

दूसरा चरण: EditText जोड़ना
- Android Studio में, Design टैब में
activity_main.xmlलेआउट फ़ाइल खोलें. - पैलेट पैन में, टेक्स्ट पर क्लिक करें.

Ab TextView, जो किTextViewहै, पैलेट पैन में टेक्स्ट एलिमेंट की सूची में सबसे ऊपर दिखता है. नीचे Ab TextView में कईEditTextव्यू दिए गए हैं.
पैलेट पैनल में देखें किTextViewआइकॉन में Ab अक्षर बिना अंडरस्कोर के दिख रहे हैं. हालांकि,EditTextआइकॉन में Ab को अंडरस्कोर किया गया है. अंडरस्कोर से पता चलता है कि व्यू में बदलाव किया जा सकता है.
Android, हरEditTextव्यू के लिए अलग-अलग एट्रिब्यूट सेट करता है. साथ ही, सिस्टम सही सॉफ़्ट इनपुट मेथड (जैसे, स्क्रीन पर दिखने वाला कीबोर्ड) दिखाता है. - Component Tree में, PlainText एडिट टेक्स्ट को खींचें और उसे
name_textके नीचे औरstar_imageके ऊपर रखें.
EditTextव्यू पर ये एट्रिब्यूट सेट करने के लिए, एट्रिब्यूट पैन का इस्तेमाल करें.
एट्रिब्यूट | वैल्यू |
|
|
|
|
|
|
- ऐप्लिकेशन चलाएं. स्टार इमेज के ऊपर, आपको "नाम" के डिफ़ॉल्ट टेक्स्ट के साथ 'बदलाव करें' टेक्स्ट दिखेगा.

इस टास्क में, आपको EditText व्यू को स्टाइल करना है. इसके लिए, आपको एक हिंट जोड़नी होगी, टेक्स्ट अलाइनमेंट बदलना होगा, स्टाइल को NameStyle में बदलना होगा, और इनपुट टाइप सेट करना होगा.
पहला चरण: हिंट वाला टेक्स्ट जोड़ना
string.xmlफ़ाइल में, हिंट के लिए नया स्ट्रिंग रिसॉर्स जोड़ें.
<string name="what_is_your_nickname">What is your Nickname?</string>EditTextव्यू के लिए इन एट्रिब्यूट को सेट करने के लिए, एट्रिब्यूट पेन का इस्तेमाल करें:
एट्रिब्यूट | वैल्यू |
|
|
|
|
|
|
- एट्रिब्यूट पैनल में,
textएट्रिब्यूट सेNameवैल्यू हटाएं.textएट्रिब्यूट की वैल्यू खाली होनी चाहिए, ताकि हिंट दिख सके.
दूसरा चरण: inputType एट्रिब्यूट सेट करना
inputType एट्रिब्यूट से यह पता चलता है कि उपयोगकर्ता, EditText व्यू में किस तरह का इनपुट डाल सकते हैं. Android सिस्टम, सेट किए गए इनपुट टाइप के हिसाब से, सही इनपुट फ़ील्ड और ऑन-स्क्रीन कीबोर्ड दिखाता है.
सभी संभावित इनपुट टाइप देखने के लिए, एट्रिब्यूट पैनल में, inputType फ़ील्ड पर क्लिक करें या फ़ील्ड के बगल में मौजूद तीन बिंदु ... पर क्लिक करें. इससे एक सूची खुलेगी. इसमें इनपुट के सभी टाइप दिखेंगे. साथ ही, मौजूदा समय में इस्तेमाल किए जा रहे इनपुट टाइप पर सही का निशान लगा होगा. एक से ज़्यादा इनपुट टाइप चुने जा सकते हैं.

उदाहरण के लिए, पासवर्ड के लिए textPassword वैल्यू का इस्तेमाल करें. टेक्स्ट फ़ील्ड में, उपयोगकर्ता का इनपुट छिपा होता है.

फ़ोन नंबर के लिए, phone वैल्यू का इस्तेमाल करें. इसमें अंकों वाला कीपैड दिखता है और उपयोगकर्ता सिर्फ़ अंक डाल सकता है.

निकनेम फ़ील्ड के लिए इनपुट टाइप सेट करें:
nickname_editटेक्स्ट में बदलाव करें के लिए,inputTypeएट्रिब्यूट कोtextPersonNameपर सेट करें.- कॉम्पोनेंट ट्री पैन में,
autoFillHintsचेतावनी देखें. यह चेतावनी इस ऐप्लिकेशन पर लागू नहीं होती. साथ ही, यह इस कोडलैब के दायरे से बाहर है. इसलिए, इसे अनदेखा किया जा सकता है. (अगर आपको ऑटोमैटिक भरने की सुविधा के बारे में ज़्यादा जानना है, तो ऑटोमैटिक भरने की सुविधा के लिए अपने ऐप्लिकेशन को ऑप्टिमाइज़ करना लेख पढ़ें.)
- एट्रिब्यूट पैन में जाकर,
EditTextव्यू के इन एट्रिब्यूट की वैल्यू की पुष्टि करें:
एट्रिब्यूट | वैल्यू |
|
|
|
|
|
|
|
|
|
|
|
|
| (खाली) |
Button एक यूज़र इंटरफ़ेस (यूआई) एलिमेंट होता है. इस पर टैप करके, उपयोगकर्ता कोई कार्रवाई कर सकता है. बटन में टेक्स्ट, आइकॉन या टेक्स्ट और आइकॉन, दोनों शामिल हो सकते हैं.

इस टास्क में, आपको हो गया बटन जोड़ना है. उपयोगकर्ता, निकनेम डालने के बाद इस बटन पर टैप करेगा. यह बटन, EditText व्यू को TextView व्यू से बदल देता है. TextView व्यू में उपनाम दिखता है. प्रचलित नाम अपडेट करने के लिए, उपयोगकर्ता TextView व्यू पर टैप कर सकता है.
पहला चरण: 'हो गया' बटन जोड़ना
- पैलेट पैनल से किसी बटन को खींचें और कॉम्पोनेंट ट्री में छोड़ें. बटन को
nickname_editटेक्स्ट में बदलाव करें
के नीचे रखें.

doneनाम का नया स्ट्रिंग रिसॉर्स बनाएं. स्ट्रिंग कोDoneवैल्यू असाइन करें,
<string name="done">Done</string>- नई जोड़ी गई
Buttonव्यू पर ये एट्रिब्यूट सेट करने के लिए, एट्रिब्यूट पैनल का इस्तेमाल करें:
एट्रिब्यूट | वैल्यू |
|
|
|
|
|
|
|
|
layout_gravity एट्रिब्यूट, व्यू को उसके पैरंट लेआउट LinearLayout में बीच में रखता है.
- स्टाइल को
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>दूसरा चरण: हो गया बटन को स्टाइल करना
- एट्रिब्यूट पैनल में, Layout_Margin > Top को चुनकर, सबसे ऊपर का मार्जिन जोड़ें. ऊपरी मार्जिन को
layout_marginपर सेट करें. यहdimens.xmlफ़ाइल में तय किया गया है.
- ड्रॉप-डाउन मेन्यू से,
fontFamilyएट्रिब्यूट की वैल्यूrobotoपर सेट करें.
- टेक्स्ट टैब पर स्विच करें और जोड़े गए नए बटन के लिए जनरेट किए गए एक्सएमएल कोड की पुष्टि करें.
<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" />तीसरा चरण: कलर रिसॉर्स बदलना
इस चरण में, बटन के ऐक्सेंट रंग को अपनी गतिविधि के ऐप्लिकेशन बार से मैच करने के लिए बदला जाता है.
res/values/colors.xmlखोलें औरcolorAccentकी वैल्यू को#76bf5eपर सेट करें.
<color name="colorAccent">#76bf5e</color>फ़ाइल एडिटर के बाईं ओर मौजूद मार्जिन में, आपको हेक्स कोड से मिलता-जुलता रंग दिखेगा.

डिज़ाइन एडिटर में बटन के रंग में हुए बदलाव पर ध्यान दें.
- अपना ऐप्लिकेशन चलाएं. आपको बदलाव करने वाले टेक्स्ट के नीचे, स्टाइल किया गया हो गया बटन दिखेगा.

उपयोगकर्ता के उपनाम डालने और हो गया बटन पर टैप करने के बाद, उपनाम TextView व्यू में दिखता है. इस टास्क में, आपको रंगीन बैकग्राउंड वाला टेक्स्ट व्यू जोड़ना है. टेक्स्ट व्यू में, उपयोगकर्ता का उपनाम star_image के ऊपर दिखता है.
पहला चरण: प्रचलित नाम के लिए TextView जोड़ना
- पैलेट पैन से टेक्स्ट व्यू को खींचकर कॉम्पोनेंट ट्री में छोड़ें. टेक्स्ट व्यू को
done_buttonके नीचे औरstar_imageके ऊपर रखें.
- नए
TextViewव्यू के लिए, यहां दिए गए एट्रिब्यूट सेट करने के लिए, एट्रिब्यूट पैनल का इस्तेमाल करें:
एट्रिब्यूट | वैल्यू |
|
|
|
|
|
|
दूसरा चरण: TextView के दिखने की सेटिंग बदलना
visibility एट्रिब्यूट का इस्तेमाल करके, अपने ऐप्लिकेशन में व्यू दिखाए या छिपाए जा सकते हैं. इस एट्रिब्यूट के लिए, इनमें से कोई एक वैल्यू दी जा सकती है:
visible: व्यू दिख रहा है.Invisible: इससे व्यू छिप जाता है, लेकिन लेआउट में व्यू की जगह बनी रहती है.gone: इससे व्यू छिप जाता है और लेआउट में कोई जगह नहीं लेता.
- एट्रिब्यूट पैनल में,
nickname_textटेक्स्ट व्यू केvisibilityकोgoneपर सेट करें, क्योंकि आपको अपने ऐप्लिकेशन में यह टेक्स्ट व्यू शुरुआत में नहीं दिखाना है.
ध्यान दें कि एट्रिब्यूट पैनल में एट्रिब्यूट बदलने पर,nickname_textव्यू, डिज़ाइन एडिटर से गायब हो जाता है. लेआउट की झलक में व्यू को छिपाया गया है. nickname_textव्यू केtextएट्रिब्यूट की वैल्यू को खाली स्ट्रिंग में बदलें.
इस 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 में लागू किया जाना चाहिए. यह Activity, बटन (व्यू) के साथ लेआउट को होस्ट करता है.
क्लिक लिसनर का फ़ॉर्मैट आम तौर पर यह होता है. इसमें, पास की गई व्यू वह व्यू होता है जिस पर क्लिक या टैप किया गया है.
private fun clickHandlerFunction(viewThatIsClicked: View) {
// Add code to perform the button click event
}बटन क्लिक इवेंट में क्लिक-लिसनर फ़ंक्शन को दो तरीकों से अटैच किया जा सकता है:
- एक्सएमएल लेआउट में,
<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टेक्स्ट में बदलाव करें से टेक्स्ट पाएं.nickname_textटेक्स्ट व्यू में टेक्स्ट सेट किया गया.- टेक्स्ट और बटन में बदलाव करने की सुविधा को छिपाएं.
- सेट किया गया नाम
TextViewदिखाएं.
पहला चरण: क्लिक लिसनर जोड़ना
- Android Studio में,
javaफ़ोल्डर में जाकरMainActivity.ktफ़ाइल खोलें. MainActivity.ktमें,MainActivityक्लास के अंदरaddNicknameनाम का एक फ़ंक्शन जोड़ें.viewटाइप काviewनाम का इनपुट पैरामीटर शामिल करें.Viewviewपैरामीटर, वह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.texteditTextकीvisibilityप्रॉपर्टी कोView.GONEपर सेट करके, उपनामEditTextव्यू को छिपाएं.
आपने पिछले टास्क में, लेआउट एडिटर का इस्तेमाल करके visibility प्रॉपर्टी में बदलाव किया था. यहां प्रोग्राम के हिसाब से वही काम किया जाता है.
editText.visibility = View.GONEvisibilityप्रॉपर्टी कोView.GONEपर सेट करके, हो गया बटन को छिपाएं. आपके पास फ़ंक्शन के इनपुट पैरामीटर,viewके तौर पर बटन का रेफ़रंस पहले से मौजूद है.
view.visibility = View.GONEaddNicknameफ़ंक्शन के आखिर में, निकनेमTextViewव्यू को दिखने लायक बनाएं. इसके लिए, इसकीvisibilityप्रॉपर्टी कोView.VISIBLEपर सेट करें.
nicknameTextView.visibility = View.VISIBLEदूसरा चरण: 'हो गया' बटन में क्लिक लिसनर अटैच करना
अब आपके पास एक ऐसा फ़ंक्शन है जो हो गया बटन पर टैप करने पर की जाने वाली कार्रवाई को तय करता है. आपको इस फ़ंक्शन को Button व्यू से अटैच करना होगा.
MainActivity.ktमें,onCreate()फ़ंक्शन के आखिर में, DONEButtonव्यू का रेफ़रंस पाएं.findViewById()फ़ंक्शन का इस्तेमाल करें औरsetOnClickListenerको कॉल करें. क्लिक-लिसनर फ़ंक्शनaddNickname()का रेफ़रंस पास करें.
findViewById<Button>(R.id.done_button).setOnClickListener {
addNickname(it)
}ऊपर दिए गए कोड में, it का मतलब done_button से है. यह वह व्यू है जिसे आर्ग्युमेंट के तौर पर पास किया गया है.
- ऐप्लिकेशन चलाएं, कोई निकनेम डालें, और हो गया बटन पर टैप करें. ध्यान दें कि टेक्स्ट में बदलाव करने की सुविधा और बटन की जगह, निकनेम टेक्स्ट व्यू ने ले ली है.
|
|
ध्यान दें कि उपयोगकर्ता के हो गया बटन पर टैप करने के बाद भी कीबोर्ड दिखता रहता है. यह डिफ़ॉल्ट व्यवहार है.
तीसरा चरण: कीबोर्ड छिपाना
इस चरण में, उपयोगकर्ता के हो गया बटन पर टैप करने के बाद, कीबोर्ड को छिपाने के लिए कोड जोड़ा जाता है.
MainActivity.ktमें,addNickname()फ़ंक्शन के आखिर में यह कोड जोड़ें. अगर आपको इस कोड के काम करने के तरीके के बारे में ज़्यादा जानकारी चाहिए, तोhideSoftInputFromWindowदस्तावेज़ देखें.
// Hide the keyboard.
val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)- ऐप्लिकेशन को फिर से चलाएं. ध्यान दें कि हो गया पर टैप करने के बाद,कीबोर्ड छिप जाता है.
|
|
हो गया बटन पर टैप करने के बाद, उपयोगकर्ता के पास उपनाम बदलने का कोई विकल्प नहीं होता. अगले टास्क में, ऐप्लिकेशन को ज़्यादा इंटरैक्टिव बनाया जाता है. साथ ही, इसमें ऐसी सुविधा जोड़ी जाती है जिससे उपयोगकर्ता, उपनाम को अपडेट कर सके.
इस टास्क में, आपको उपनाम के टेक्स्ट व्यू में क्लिक लिसनर जोड़ना है. क्लिक लिसनर, निकनेम टेक्स्ट व्यू को छिपाता है, बदलाव करने के लिए टेक्स्ट दिखाता है, और हो गया बटन दिखाता है.
पहला चरण: क्लिक लिसनर जोड़ना
MainActivityमें, निकनेम टेक्स्ट व्यू के लिएupdateNickname(view: View)नाम का क्लिक-लिसनर फ़ंक्शन जोड़ें.
private fun updateNickname (view: View) {
}updateNicknameफ़ंक्शन में,nickname_editटेक्स्ट में बदलाव करने का रेफ़रंस पाएं. साथ ही, हो गया बटन का रेफ़रंस पाएं. इसके लिए,findViewById()तरीके का इस्तेमाल करें.
val editText = findViewById<EditText>(R.id.nickname_edit)
val doneButton = findViewById<Button>(R.id.done_button)updateNicknameफ़ंक्शन के आखिर में, टेक्स्ट में बदलाव करने की सुविधा दिखाने, हो गया बटन दिखाने, और टेक्स्ट व्यू को छिपाने के लिए कोड जोड़ें.
editText.visibility = View.VISIBLE
doneButton.visibility = View.VISIBLE
view.visibility = View.GONEMainActivity.ktमें,onCreate()फ़ंक्शन के आखिर में,nickname_textटेक्स्ट व्यू परsetOnClickListenerको कॉल करें. क्लिक-लिसनर फ़ंक्शन का रेफ़रंस पास करें, जो किupdateNickname()है.
findViewById<TextView>(R.id.nickname_text).setOnClickListener {
updateNickname(it)
}- अपना ऐप्लिकेशन चलाएं. कोई निकनेम डालें, हो गया बटन पर टैप करें. इसके बाद, निकनेम
TextViewव्यू पर टैप करें. निकनेम व्यू गायब हो जाता है. इसके बाद, बदलाव करने के लिए टेक्स्ट और हो गया बटन दिखने लगता है.
ध्यान दें कि डिफ़ॉल्ट रूप से, EditText व्यू पर फ़ोकस नहीं होता है और कीबोर्ड नहीं दिखता है. उपयोगकर्ता को यह पता नहीं चल पाता कि निकनेम टेक्स्ट व्यू पर क्लिक किया जा सकता है. अगले टास्क में, आपको निकनेम के टेक्स्ट व्यू में फ़ोकस और स्टाइल जोड़नी है.
दूसरा चरण: 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)तीसरा चरण: प्रचलित नाम वाले TextView व्यू में बैकग्राउंड का रंग जोड़ना
nickname_textटेक्स्ट व्यू के बैकग्राउंड का रंग@color/colorAccentपर सेट करें और नीचे की ओर@dimen/small_paddingपैडिंग जोड़ें. इन बदलावों से उपयोगकर्ता को यह संकेत मिलेगा कि निकनेम वाला टेक्स्ट व्यू क्लिक किया जा सकता है.
android:background="@color/colorAccent"
android:paddingBottom="@dimen/small_padding"- अपने ऐप्लिकेशन को चलाएं. एडिट टेक्स्ट पर फ़ोकस किया गया है. साथ ही, एडिट टेक्स्ट में निकनेम दिखाया गया है और निकनेम टेक्स्ट व्यू को स्टाइल किया गया है.
|
|
अब अपने किसी दोस्त को AboutMe ऐप्लिकेशन का इंटरैक्टिव वर्शन दिखाएं!
Android Studio प्रोजेक्ट: AboutMeInteractive
- Android Studio में मौजूद Layout Editor टूल, विज़ुअल डिज़ाइन एडिटर है. लेआउट एडिटर का इस्तेमाल करके, अपने ऐप्लिकेशन का लेआउट बनाया जा सकता है. इसके लिए, यूज़र इंटरफ़ेस (यूआई) एलिमेंट को अपने लेआउट में खींचें और छोड़ें.
EditTextएक यूज़र इंटरफ़ेस (यूआई) एलिमेंट है. इसकी मदद से उपयोगकर्ता, टेक्स्ट डाल सकते हैं और उसमें बदलाव कर सकते हैं.Buttonएक यूज़र इंटरफ़ेस (यूआई) एलिमेंट होता है. इस पर टैप करके, उपयोगकर्ता कोई कार्रवाई कर सकता है. बटन में टेक्स्ट, आइकॉन या टेक्स्ट और आइकॉन, दोनों शामिल हो सकते हैं.
क्लिक लिसनर
- किसी भी
Viewको टैप करने पर जवाब देने वाला बनाया जा सकता है. इसके लिए, उसमें क्लिक लिसनर जोड़ें. - क्लिक लिसनर को तय करने वाला फ़ंक्शन, क्लिक किए गए
Viewको पाता है.
View में क्लिक-लिसनर फ़ंक्शन को इन दो तरीकों में से किसी एक तरीके से अटैच किया जा सकता है:
- एक्सएमएल लेआउट में,
<View>एलिमेंट मेंandroid:onClickएट्रिब्यूट जोड़ें. - प्रोग्राम के हिसाब से, इससे जुड़े
ActivityमेंsetOnClickListener(View.OnClickListener)फ़ंक्शन का इस्तेमाल करें.
Udacity का कोर्स:
Android डेवलपर का दस्तावेज़:
इस सेक्शन में, उन छात्र-छात्राओं के लिए होमवर्क असाइनमेंट की सूची दी गई है जो किसी शिक्षक के कोर्स के हिस्से के तौर पर इस कोडलैब पर काम कर रहे हैं. शिक्षक के पास ये विकल्प होते हैं:
- अगर ज़रूरी हो, तो होमवर्क असाइन करें.
- छात्र-छात्राओं को बताएं कि होमवर्क असाइनमेंट कैसे सबमिट किए जाते हैं.
- होमवर्क असाइनमेंट को ग्रेड दें.
शिक्षक इन सुझावों का इस्तेमाल अपनी ज़रूरत के हिसाब से कर सकते हैं. साथ ही, वे चाहें, तो कोई दूसरा होमवर्क भी दे सकते हैं.
अगर आपको यह कोडलैब खुद से पूरा करना है, तो अपनी जानकारी की जांच करने के लिए, इन होमवर्क असाइनमेंट का इस्तेमाल करें.
इन सवालों के जवाब दें
पहला सवाल
EditText किसकी सबक्लास है?
ViewLinearLayoutTextViewButton
दूसरा सवाल
अगर किसी व्यू पर visibility एट्रिब्यूट की इनमें से कौनसी वैल्यू सेट की जाती है, तो व्यू छिप जाता है और लेआउट में कोई जगह नहीं लेता है?
visibleInvisiblegonehide
तीसरा सवाल
EditText व्यू के लिए, हिंट देना सही तरीका नहीं है. ऐसा इसलिए, क्योंकि हिंट से इनपुट फ़ील्ड में काफ़ी जानकारी भर जाती है. सही या गलत?
- सही
- गलत
चौथा सवाल
Button व्यू के बारे में इनमें से कौनसी बात सही है?
Buttonव्यू, व्यू ग्रुप होता है.- हर स्क्रीन पर सिर्फ़ तीन
Buttonव्यू हो सकते हैं. Buttonव्यू पर क्लिक किया जा सकता है. क्लिक करने पर, अटैच किया गया क्लिक लिसनर कोई कार्रवाई करता है.Button,ImageViewका एक्सटेंशन है.
अगला सबक शुरू करें:
इस कोर्स में मौजूद अन्य कोडलैब के लिंक के लिए, Android Kotlin Fundamentals कोडलैब का लैंडिंग पेज देखें.


(center)
(center)

