همین کار را برای دکم تان هم بکنید و در آن بنویسید OK.
تغییرات دیگری هم میتوانید بدهید مثلا برای همان button در منوی تنظیمات backgroundرا انتخاب کنید. آنجا برای دادن عکس یا رنگ به بک گراند ابزارهایتان هست.
آن را بزنید و از پنجره ای که باز میشود color را انتخاب کرده و یک رنگ بدهید به دکمه و اوکی کنید.
تغییرات دیگری هم میتوانید بدهید مثلا برای همان button در منوی تنظیمات backgroundرا انتخاب کنید. آنجا برای دادن عکس یا رنگ به بک گراند ابزارهایتان هست.
آن را بزنید و از پنجره ای که باز میشود color را انتخاب کرده و یک رنگ بدهید به دکمه و اوکی کنید.
اما همانطور که جلسه قبل گفتم کار با کد برای دیزاین کردن خیلی بهتر هست. برای دیزاین صفحاتتان باید با تگ های xml کار کنید. جلسه قبل توضیحش را دادم. این جلسه یکم بیشتر آشنا میشویم.
تگ های xml برای دیزاین نرم افزارهای اندروید بصورت زیر هستند:
تگ های xml برای دیزاین نرم افزارهای اندروید بصورت زیر هستند:
مثلا دقت کنید:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_gravity="center_horizontal"
android:background="#ffffe000”/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_gravity="center_horizontal"
android:background="#ffffe000”/>
نام ابزارمان Button هست. یک سری ویژگی بهش داده شده... width…text و....
در آخر هم تگ را بسته.
اما گاها تگ ما شامل یک سری محتویات هم هست.
در آخر هم تگ را بسته.
اما گاها تگ ما شامل یک سری محتویات هم هست.
برگردید به صفحه دیزاینتان . روی صفحه اصلی کلیک کنید.. منظورم قسمت مشکی رنگ از صفحه نرم افزارتان هست که در آن ابزاری نذاشتید. چیزی که الان انتخاب کردید را رنگش را تغییر بدهید تا بیشتر متوجهش شوید.
این قسمت را میگوییم Linear Layout. همانطور که مشخص هست این ابزار شامل دوتا ابزار دیگر هم هست. Button و TextView.
منظورم قسمت قرمز رنگ هست :
این قسمت را میگوییم Linear Layout. همانطور که مشخص هست این ابزار شامل دوتا ابزار دیگر هم هست. Button و TextView.
منظورم قسمت قرمز رنگ هست :
به اینی که انتخاب کردیم میگویم LinearLayout.
دوباره در پایین Text را بزنید تا برویم داخل کد. اولین تگ را نگاه کنید. LinearLayout. اگه دقت کنید میبینید به این صورت هست:
دوباره در پایین Text را بزنید تا برویم داخل کد. اولین تگ را نگاه کنید. LinearLayout. اگه دقت کنید میبینید به این صورت هست:
وقتی یک تگ دارید که داخلش شامل ابزارهای دیگر هم میشود به این صورت نوشته میشود. مثل این layout که اینطوری نوشته شده و داخلش یک TextView داریم یک Button.
روی انواع Layout ها هم کلی کار خواهیم داشت.
حالا میخوام با یه سری از این صفت ها که مهمتر هستن آشنا شویم...
روی انواع Layout ها هم کلی کار خواهیم داشت.
حالا میخوام با یه سری از این صفت ها که مهمتر هستن آشنا شویم...
واضح هست که مهمترین ابزارهایی که خیلی استفاده میشوند همین TextView و Button هستند. پس باید یک سری ویژگی های کلیدیشان رو بدانیم.
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Agree?"
android:textColor="#ff000000"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Agree?"
android:textColor="#ff000000"/>
صفت هایش به ترتیب برای عرض خود محل نوشتن، ارتفاعش، متنش و رنگ متنش هست
به مقدار دهی صفت ها جلسه بعد میپردازیم فقط الان آشنا شوید
به مقدار دهی صفت ها جلسه بعد میپردازیم فقط الان آشنا شوید
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"
android:id="@+id/button" android:layout_gravity="center_horizontal”/>
برای دکمه هم به ترتیب:
عرضش، ارتفاعش،متنش، آیدی(توضیح میدم) و محل قرارگیری در layout که اگر دقت کنید برای من وسط قرار دارد که با این هم بعدها کار داریم.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"
android:id="@+id/button" android:layout_gravity="center_horizontal”/>
برای دکمه هم به ترتیب:
عرضش، ارتفاعش،متنش، آیدی(توضیح میدم) و محل قرارگیری در layout که اگر دقت کنید برای من وسط قرار دارد که با این هم بعدها کار داریم.
مهمترین چیزی که اینجا بود ID بود. به چه درد میخورد؟ گفتم که Layout در اندروید به یک Activity وصل هست. حالا در اکتیویتی چطوری مشخص کنیم اگر دکمه OK زده شد چه اتفاقی بیفتد؟ از کجا این را بفهمونیم؟ از روی ID. بهرحال نمیتوانیم بگوییم دکمه ای که زده شد و برنامه بفهمد منظور ما چه دکمه ای هست. باید یک اسم به آن بدهیم. و مثلا بگویم دکمه ای که اسمش هست btn وقتی زده شد به من پیام نشان بده. اینجا بصورت خودکار id را گذاشته button
خب عالیه حالا کافی هست برویم و به برنامه بفهمونیم میخواهم بهم پیام نشان بدهی. بریم سراغ اکتیویتی این layout. گفتم تنظیم کردن اتفاقهایی که در layout میفتد از طریق activity انجام میشود. از سمت چپ پوشه src را باز کنید و حالا داخل com.example.First بشوید و اکتیویتی را باز کنید
بالارو ببینید. نوشته class MyActivity . همانطور که گفتم اکتیویتی ها کلاس هستند. به بقیش کار نداشته باشید بیایم داخل oncreate که جلسه قبل توضیحشو دادم. حالا میخواهیم کد مربوط به نمایش پیام را بزنیم داخل oncreate شروع کنید به نوشتن. یعنی بین } , { مربوط به Oncreate
و البته باید بگویم که همانطور که دیدید مثل کلاس انسان که رویداده آمدن را برایش تعریف کردم، اکتیویتی هم کلاسی هست که یکی از رویدادهاش Oncreate هست. به مرور با بقیه رویدادهایش هم آشنا میشویم.
حالا این کدی که نوشتم را نگاه کنید. میخواهم نشان دهم چه معنایی میدهد البته در یکی دو جلسه آینده که عمیق تر به بحثهای عمیق تر پرداختیم بیشتر متوجه میشوید. برای اینکه تغییرات یک دکمه را بررسی کنیم باید اول در کد معرفیش کنیم. برای معرفی کردنش هم باید بهش بگوییم منظورمان دکمه ای هست که آیدیش x هست. این دقیقا میشود جمله من:
Button btn = findViewById(R.id.button);
حالا این کدی که نوشتم را نگاه کنید. میخواهم نشان دهم چه معنایی میدهد البته در یکی دو جلسه آینده که عمیق تر به بحثهای عمیق تر پرداختیم بیشتر متوجه میشوید. برای اینکه تغییرات یک دکمه را بررسی کنیم باید اول در کد معرفیش کنیم. برای معرفی کردنش هم باید بهش بگوییم منظورمان دکمه ای هست که آیدیش x هست. این دقیقا میشود جمله من:
Button btn = findViewById(R.id.button);
اما کدی که نوشتم یک بخش دیگرم دارد. (Button)
این findViewById یک تابع هست. که ورودی بهش یه آیدی میدهیم. و میرود و برایمان پیدایش میکند. (فعلا به R کار نداشته باشید).
اما خروجیش از جنس Button نیست بلکه از جنس View هست. View را بیشتر توضیح میدهم اما بدانید که همه ابزارهای ما در صفحه از جنس view هستند. پس تابع findViewById نمیداند چه چیزی پیدا کرده. فقط یک آیدی گرفته و پیدا کردتش برای ما. برای اینکه این view را ذخیره کنیم و ازش استفاده کنیم (که همان دکمه خودمان هست) باید تبدیلش کنیم به Button.
(Button) = Cast to Button
این findViewById یک تابع هست. که ورودی بهش یه آیدی میدهیم. و میرود و برایمان پیدایش میکند. (فعلا به R کار نداشته باشید).
اما خروجیش از جنس Button نیست بلکه از جنس View هست. View را بیشتر توضیح میدهم اما بدانید که همه ابزارهای ما در صفحه از جنس view هستند. پس تابع findViewById نمیداند چه چیزی پیدا کرده. فقط یک آیدی گرفته و پیدا کردتش برای ما. برای اینکه این view را ذخیره کنیم و ازش استفاده کنیم (که همان دکمه خودمان هست) باید تبدیلش کنیم به Button.
(Button) = Cast to Button
یعنی تبدیل کردن به باتن با کد بالا صورت میگیرد.
حالا کله کار صورت گرفته را در یک دکمه که خودم اسمش رو دادم btn ذخیره میکنیم
و کد من شد:
Button btn = (Button) findViewById(R.id.button);
حالا کله کار صورت گرفته را در یک دکمه که خودم اسمش رو دادم btn ذخیره میکنیم
و کد من شد:
Button btn = (Button) findViewById(R.id.button);
حالا بهش بگوییم کلیک شدی میخواهیم یک کاری انجام بدهی.
اینطور اتفاقات مثل کلیک شدن برای ابزار ها به عنوان Listener بیان میشوند. یعنی انگار سیستم عامل منتظر هست تا ببیند کسی کلیک شد(Listen) و حالا وقتی این اتفاق افتاد باید یک کاری را برای این اتفاق set کند.
بزنید:
btn.setO
کد نصفه است؟ خب خوده intellij کاملش میکند. خاصیت کامل کردن اتوماتیک خیلی قوی دارد. همین کد بالا را که بنویسید براتون یک لیست میاد که یک گزینش هست
setOnClickListener
اون را برید رویش و enter بزنید و خودش مینویسد
btn.setOnClickListener();
خب تا الان یه رویداد تعریف کردیم برای موجودیت دکمه (همون مثال انسان و آمدن را یاد بیارید)
حالا بعنوان ورودی باید بهش این را بدهید:
new View.OnClickListener()
اینطور اتفاقات مثل کلیک شدن برای ابزار ها به عنوان Listener بیان میشوند. یعنی انگار سیستم عامل منتظر هست تا ببیند کسی کلیک شد(Listen) و حالا وقتی این اتفاق افتاد باید یک کاری را برای این اتفاق set کند.
بزنید:
btn.setO
کد نصفه است؟ خب خوده intellij کاملش میکند. خاصیت کامل کردن اتوماتیک خیلی قوی دارد. همین کد بالا را که بنویسید براتون یک لیست میاد که یک گزینش هست
setOnClickListener
اون را برید رویش و enter بزنید و خودش مینویسد
btn.setOnClickListener();
خب تا الان یه رویداد تعریف کردیم برای موجودیت دکمه (همون مثال انسان و آمدن را یاد بیارید)
حالا بعنوان ورودی باید بهش این را بدهید:
new View.OnClickListener()