قالب (Theme)
تماشای برخط [لینک مستقیم] فیلم آموزشی «قالب»
زیر نویس انگلیسی [English Subtitle]
دریافت نسخهی pdf این آموزش [1.61 مگابایت]
تو آموزش قبل با سبکهای نمایش آشنا شدیم، قالب هم یه چیزی تو همون مایههاست، تفاوتش اینه که قالب به کل یه فعالیت (activity) یا کل یه پروژه اعمال میشه ولی سبکنمایش فقط به یه شی اعمال میشه.
۱. یه پروژه جدید بسازید و فایل activity_main.xml (در زیرشاخه res->layout) رو باز کنید، (اگر همین الان پروژه رو ساختید خودش این فایل رو براتون باز می کنه). از ستون سمت چپ چند تا شی بندازید تو صفحه (تا وقتی قالب رو عوض میکنید متوجه تغییرات بشید). اندروید خودش به صورت پیشفرض، یک عالمه قالب مختلف برای صفحات فعالیت و پروژه داره، از منوی بالا اونجا که نوشته app theme کلیک کنید، یه فهرست براتون باز میشه که قالبها رو دستهبندی کرده، میتونید هر کدوم از قالبها رو امتحان کنید و تاثیرش رو روی صفحهتون ببینید.
مثلا از گزینه Theme، قالب Theme.Translucent رو انتخاب کنید، در این حالت شما هیچ پسزمینهای ندارید و همه اشیائی که در صفحه میگذارید روی پسزمینه خود گوشی نمایش داده میشه (یا هرچیزی که قبلش اجرا شده باشه)
حالا Theme.Dialog رو انتخاب کنید. این قالب همونطور که از اسمش پیداست، مربوط به محاوره است، مثلا دیدید تو بعضی برنامهها وقتی میخواید از برنامه خارج بشید یه صفحه کوچکتر یهو وا میشه میپرسه «آیا واقعا میخواید خارج بشید؟»، در اون مواقع از این قالب استفاده شده.
۲. اگر قالبی رو همونطور که تو مرحلهی قبل گفته شد انتخاب کنید، در واقع به برنامهی شما اعمال نمیشه، برای اینکه قالب برنامهتون رو تغییر بدید باید AndroidManifest.xml رو باز کنید و به زبانه Application برید. جایی که نوشته Theme جلوش دکمه Browse رو بزنید و بعد هم از بالاش دکمه System Resources و قالب مورد نظرتونو انتخاب کنید.
میتونید همین کارو از قسمت ویرایش متنی انجام بدید، اونجایی که برچسب application وجود داره، یه خط هست که نوشته android:Theme که مساوی قالبی که مدنظرتون هست قرار بدید.
توجه دارید که میشه فقط قالب یه فعالیت (activity) رو تغییر بدید که مشابه همین کارو (در قسمت ویرایش متنی) برای داخل برچسب اون فعالیت انجام میدید.
حالا برنامه رو تو شبیه ساز اجرا کنید تا ببینید چطور شده.
۳.خوب تا الان ما از قالب پیشساخته گوگل استفاده کردیم، درست مثل سبکنمایش میتونیم خودمون قالب بسازیم، منتها باید یکی از قالبهای پیشساخته رو به عنوان پایه در نظر بگیریم و روش تغییرات بدیم. بیاید یه قالب بر پایهی همین قالب Theme.Dialog بسازیم، مثلا میخوایم توش متنهامون قرمز رنگ باشن. برای اینکار styles.xml رو باز کنید (res -> Values) مثل آموزش قبل یه برچسب style ایجاد کنید، این قالب باید یه اسم داشته باشه من اسمشو میذارم ghalebeMan (اسمی که میخواید بذارید نباید فاصله space داشته باشه) و باید والدش android:style/Theme.Dialog@ باشه.
<style name="ghalebeMan" parent="@android:style/Theme.Dialog"></style>
۴.و درون این قالب جدیدی که ساختیم رنگ متنها رو قرمز کنیم. با ساختن یک item مشابه آموزش قبل.
<style name="ghalebeMan" parent="@android:style/Theme.Dialog"> <item name="@android:textColor">#f00</item> </style>
پس این قالب جدیدمون همون Theme.Dialog هست فقط رنگ متناش قرمزه، حالا بیاید قالب برنامهمون رو به ghalebeMan تغییر بدیم. مراحل رو تو شکل دنبال کنید.
۵. وقتی برنامه رو اجرا کنیم، میبینیم که تغییرات اعمال شده و متنها قرمز شده.
و مثل آموزش قبل میتونید به این صفحه برید و قالبهای پیشساختهی اندروید رو ببینید و هر کدوم رو که خواستید گسترش بدید :)
گاهی با خودم فکر می کنم واقعا جمع آوری و تنظیم این مطالب به صورت رایگان چه کار سختیه من از جانب خودم ازتون بسیار تشکر می کنم