عنوان : سبک‌های نمایش (styles) (متخصصین ایران)درس چهارم قسمت1
متخصصین ایران طراحی سایت

سبک نمایش پیش‌فرض اندروید، ممکنه قشنگ به نظر برسه اما خیلی ها دوست دارن که خودشون تعیین کنن که هر چیزی چطور نمایش داده بشه، منظورم ابعاد و رنگ و خیلی ویژگی‌های ظاهری دیگه است. می‌خوایم تو این آموزش یاد بگیریم چطور یه سبک نمایش بسازیم و در قسمت‌های مختلف ازش استفاده کنیم.

۱.برای شروع یه پروژه جدید بسازید و فایل activity_main.xml (در زیرشاخه res->layout) رو باز کنید، (اگر همین الان پروژه رو ساختید خودش این فایل رو براتون باز می کنه) روی متن Hello world کلیک کنید، حالا می‌خوایم یه سری از ویژگی‌هاشو تغییر بدیم، مثلا اندازه‌اش، فونت‌اش و رنگش. من این تغییرات رو دادم: رنگ f00 اندازه 25sp فونت serif و text style: bold

 

۲.حالا می‌خوایم یاد بگیریم که چطور همین ویژگی‌ها رو دوباره روی یه متن دیگه اعمال کنیم بدون اینکه ریزه کاری ها رو دوباره انجام بدیم. یعنی یه سبک با همین مشخصات می سازیم و روی هر متنی که خواستیم اون سبک رو اعمال می‌کنیم تا همین تغییرات روش اعمال بشه. این کار به درد زمانی می‌خوره که شما می خواید مثلا تمام دکمه‌هاتون یه رنگ و شکل و اندازه خاص داشته باشن و وقتی پروژه بزرگ باشه اعمال کردن همه تغییرات به صورت تک به تک واقعا زمان‌بره و درست کردن یه سبک کلی، خیلی کمک می‌کنه.

برای ساختن یه سبک نمایش، فایل styles.xml (زیر شاخه res->values) رو باز کنید. قسمت متنی رو از روی زبانه‌ی پایین انتخاب کنید.

۳.همون طور که می‌بینید قبلا دوتا سبک نمایش (style) تو این فایل تعریف شده، حالا ما هم می‌خوایم یکی دیگه تعریف کنیم، هر سبک نمایش اول احتیاج به یه اسم داره، مثلا من می‌ذارم ekhtar، بعد هم باید از یک نوع سبک نمایش ارث‌بری کنیم، چون در غیر اینصورت باید تمامی ویژگی های اون سبک رو تعریف و مقداردهی کنیم که عملا کار عقلانی نیست چون هر شی‌ای هزاران ویژگی داره که ممکنه ما فقط بخوایم یه موردشو تغییر بدیم. از اونجایی که الان می‌خوایم سبک نمایش متن رو گسترش بدیم بهتره به عنوان والد (parent) از ظاهرمتن (TextAppearance) استفاده می‌کنیم تا تمام ویژگی‌های ظاهری متن رو داشته باشیم و موارد دلخواه رو بازنویسی (override) کنیم. تمامی سبک‌های نمایش پیش‌فرض در /android:style@ قرار دارن. خوب تا اینجا کدمون اینطوری شد:

 name="ekhtar" parent="@android:style/TextAppearance">

۴.در داخل برچسب style باید اون چیزایی که قصد داریم بازنویسی کنیم رو قرار بدیم. برای هر ویژگی که می‌خوایم بازنویسی کنیم باید یه برچسب item تشکلیل بدیم. هر item یه اسم داره و یه مقدار، مثلا برای اندازه‌ی متن می‌تونیم از این خط استفاده کنیم:

 name="android:textSize">25sp

اسم هر item باید کلمات مشخصی باشه تا برنامه بفهمه منظور مون دقیقا چیه، برای اینکه بدونیم چه اسمی باید بذاریم، فایل activity_main.xml رو در قسمت متنی باز کنید. می‌بینید برای اون متنی که چند دیقه پبش تغییرش دادیم یه سری ویژگی رو نوشته که ما هم دقیقا از همون اسامی در item ها استفاده می‌کنیم.

بعد از وارد کردن ویژگی‌هایی که می‌خوایم، کد سبک نمایش‌مون اینطوری می‌شه:

 name="ekhtar" parent="@android:style/TextAppearance">
         name="android:textSize">25sp
         name="android:textStyle">bold
         name="android:typeface">serif
         name="android:textColor">#f00

۵.فایل styles.xml رو ذخیره کنید و به قسمت گرافیکی activity_main.xml برید. اون متنی که بود رو پاک کنید و یه متن دیگه روی صفحه بندازید. حالا از ستون properties خط style رو پیدا کنید و روش دوتا کلیک کنید تا سبک‌های نمایش موجود رو بهتون نشون بده و از بینشون همونی که الان ساختید (ekhtar) رو انتخاب کنید. بعد از انتخاب اون سبک، متن‌تون دقیقا همون ویژگی‌هایی که تعریف کرده بودید رو پیدا می‌کنه.

می‌تونید از این سبک تو کل پروژه تون استفاده کنید و اگر یادتون افتاد که باید یه تغییری می‌دادید و فراموش کردید، به راحتی فقط فایل styles.xml رو تغییر می‌دید و اون تغییر روی تمام متن‌هایی که اون سبک نمایش رو دارن اعمال می‌شه.

۶.حالا می‌خوایم یه سبک نمایش درست کنیم که دقیقا همین شکلی باشه ولی متن به جای bold،کج (italic) باشه، یعنی انگار یه زیرکلاس می‌خوایم برای سبک قبلی تعریف کنیم. برای این کار، تو فایل styles.xml یه برچسب جدید درست می‌کنیم و این بار اسمشو می‌ذاریم ekhtar.kaj این یعنی ما می‌خوایم تمام ویژگی‌های سبک ekhtar رو داشته باشیم ولی فقط کجش کنیم. اینطوری:

 name="ekhtar.kaj">
         name="android:textStyle">italic

الان اگه تو فایل activity_main.xml اون متن رو انتخاب کنیم، می‌تونیم از قسمت style در properties گزینه ekhtar.kaj رو انتخاب کنیم تا متن کجکی بشه :)

۷.ممکنه تو مرحله ۳ براتون سوال پیش اومده باشه که من چطور فهمیدم باید از ظاهرمتن (TextAppearance) به عنوان والد در ارث‌بری استفاده کنیم. باید بگم خوبیه اندروید اینه که متن‌بازه، یعنی تمام محتوای سیستم عاملش رو اینترنت هست، ما‌ می‌تونیم به قسمت سبک‌های نمایش‌اش بریم و اسم تمامی سبک‌های موجود رو ببینیم، مثلا یکی از جاهایی که سیستم عامل اندروید رو به صورت متن‌باز قرار داده اینجاست. توی این سایت از ستون سمت چپ رو نسخه‌ی API ای که استفاده می‌کنید کلیک کنید و مسیر زیر رو باز کنید: (مثلا من نسخه 2.3.3 رو باز کردم)

2.3.3_r1 -> frameworks -> base -> core -> res -> res -> values -> styles.xml

بعد براتون یه صفحه ای مثل این رو باز می‌کنه که می‌تونید انواع سبک‌های نمایش رو توش ببینید و حتی اگه کنجکاو باشید که هر سبک رو چطور ساختن، می‌تونید کدش رو بخونید.




نظر شما درباره این مطلب:




مطالب مشابه

14

مطالبی که باید از قبل بلد باشید (متخصصین ایران)


متخصصین ایران طراحی سایت

مطالبی که باید از قبل بلد باشید....


مطالبی که باید از قبل بلد باشید (متخصصین ایران)                  (اطلاعات بیشتر)

15

مراحل نصب "بسته توسعه نرم افزار" SDK برای کاربران مک (متخصصین ایران)


متخصصین ایران طراحی سایت

۱. دانلود "بسته توسعه نرم افزار" یا SDK ....

 


مراحل نصب "بسته توسعه نرم افزار" SDK برای کاربران مک  (متخصصین ایران)                  (اطلاعات بیشتر)

17

ایجاد دستگاه مجازی (Virtual Device) یا شبیه ساز (emulator) برای اندروید (متخصصین ایران)


متخصصین ایران طراحی سایت

1.وقتی در طول توسعه نرم افزاتون، احتیاج به آزمایش (تست) برنامتون دارید، حتما نیاز به....


 ایجاد دستگاه مجازی (Virtual Device) یا شبیه ساز (emulator) برای اندروید (متخصصین ایران)                  (اطلاعات بیشتر)

18

مراحل نصب ایکلیپس (Eclipse) روی مک (متخصصین ایران)


متخصصین ایران طراحی سایت

۰.قبل از نصب ایکلیپس باید اس دی کی رو ....


 مراحل نصب ایکلیپس (Eclipse) روی مک  (متخصصین ایران)                  (اطلاعات بیشتر)

19

مراحل نصب ایکلیپس (Eclipse) روی ویندوز (متخصصین ایران)


متخصصین ایران طراحی سایت

۰.قبل از نصب ایکلیپس باید اس دی کی رو نصب کرده باشید....

 


مراحل نصب ایکلیپس (Eclipse) روی ویندوز  (متخصصین ایران)                  (اطلاعات بیشتر)

16

مراحل نصب بسته بندی Android SDK platform (متخصصین ایران)


متخصصین ایران طراحی سایت

1.برنامه SDK Manager رو اجرا کنید...


 مراحل نصب بسته بندی Android SDK platform  (متخصصین ایران)                  (اطلاعات بیشتر)