آموزش برنامه نویس اندروید قسمت بیست و یکم

1395/1/12 ستاره مقاری 5878

خب باز هم سلام یک آموزش اندروید دیگه باهم داریم. مقاری هستم و جلسه 21 اندروید رو شروع میکنیم. جلسه قبل لیست ویو سفارشی ساختیم. با مفهوم inflator آشنا شدیم. ما به پروژمون برمیگردیم بعد از sqlite رو گفتن و با لیست ها خیلی بیشتر هم کار میکنیم تا را بیفتید. این جلسه مطالبمون کمی مرتبط هست. اما نکته ای رو بگم قبلش. درکل برنامه نویسی اندروید تحولات زیادی داشته خصوصا بعد از بحث متریال دیزاین. خب چیزایی که الان بهتون میگم مسلما راه های بروز تری داره. ایشالا به اونجاها هم میرسیم و باهم آموزش متریال رو شروع میکنیم یکم بگذره همچنین کدهایی که دیگه جایگزین بهتری اومده برای یا Deprecate شده رو اصولی جلو میریم. و شاید روی اندروید استادیو سوییچ کردیم. اما خب قدم قدم. بنظرم تا اینها مفاهیمش جا نیفته نمیشه وارد گام های بالاترش شد. پس صبر داشته باشید آموزش به جاهای خوب میرسه

خب اول از همه میخوایم باهم یه Toast سفارشی ایجاد کنیم که حتما در خیلی برنامه ها دیدید. قبل از اون میخوام کار دیگه ای یادتون بدم. ساخت shape.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
</shape>

1-   ساخت Shape

خب در برنامه اندروید قرار نیست برای هر کاری از عکسها استفاده کنیم! مثلا برای داشتن یه شکل دایره من نباید عکس اد کنم در حالت عادی. چون که باعث سنگین شدن و کند شدن برنامم میشه. به جاش با خود کدهای xml یک shape میسازم. اما چطور. روی پوشه drawable خودتون راست کلیک کنید و گزینه new Drawable resource file رو بزنید و root اش رو بگذارید shape.

در مرجله بعد باید نوع shape رو مشخص کنید در تگ اصلی:

خب حالا برای این شکل میتونید رنگ تعریف کنید:

<soilid
android:"#af325d"/>

یا براش حاشیه بدید:

<stroke
android:width="2dp"
android:color="#721938"/>

 

که به ترتیب ضخامت و رنگ حاشیه است. همچنین میتونید برای این شکل یک شعاع بدید برای اینکه لبه هاش از حالت تیز و SAHRP خارج بشه:

<corners
android:radius="20dp"
/>

خب تمام شد! کد نهایی:

حالا کافی هست این فایل drawable رو به بک گراند ابزار مورد نظر خودم بدم:

به همین ترتیب برای ساخت شکل دایره:

2) ساخت toast سفارشی

ابتدا برای ساخت toast از همان فایل rectangle اس که ساختیم استفاده میکنم برای بک گراندش.

تگ xml زیر رو بسازید:

و توجه کنید سایز layout رو دادم wrap تا همه صفحه رو نگیره بلکه اندازه محتویاتش باشه toast ای که میسازم.

یک دکمه هم در فایل xml صفحه اصلیم قرار داده بودم برای تست کردن Shape دایره ای. اسمش رو میگذارم btnShowToast. کدهای زیر رو در اکتیویتی بنویسید تا توضیح بدم:

دقیقا مثل آموزش قبلیمون. میخواهیم از یک فایل xml یک ابزار (View) ایجاد کنیم پس این وسط inflater این کار رو انجام میده برامون. متدی به اسم inflate داره که بهش فایل xml  میدیم و خروجی View میگیریم. در نهایت از کلاس Toast یک نمونه میسازم. ورودی context رو بهش میدم مثل همه toast هایی که میساختیم. در ادامه برای view دادن به جای اینکه مقداری ندم تا ویو پیشفرض خودش رو بذاره دستی بهش ویو خودم رو میدم.

بخش بعدی برای تعیین محل نمایش هست. کلاس Gravity. رو بزنید و طبق میل خودتون انتخاب کنید. ورودی های دوم و سوم برای ایجاد فاصله نسبت به    x و y هست که برای اینکه از پایین مقدار بگیره ورودی y رو دادم 30.

بقیش هم که واضح هست

3) ساخت ActionBar

حتما با ActionBar آَشنایی دارید. نواری که در بالای برنامه گذاشته میشه معمولا با عنوان برنامه. خود layout ها هم بصورت پیشفرض دارند که البته خیلی جالب نیست. میخواهیم یک اکشن بار شخصی بسازیم. مثل همیشه ابتدا به کد xml اش نیاز داریم:

بقیه مراحل آشنا هست حدودا. به اکتیویتی میریم:

خب ابتدا که ActionBar رو فراخوانی کردیم و این رو هم بگم برای استفاده ازش باید sdk شما بالای 11 باشه.

در دو خط بعدی ActionBar دیفالت رو غیرفعال کردم.

مراحل بعد مشخص هست. طبق روال قبلی با inflater کد xml خودم رو به view تبدیل کردم و در دو خط آخر اکشن بار سفارشی خودم رو ایجاد کردم

خسته نباشید....

کلمات کلیدی