استایل نمایش (styles),در برنامه نویسی اندروید

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

style

در کدهای زیر شما محتویات فایل styles.xml در محیط اندروید استودیو را می بینید, که دارای یک استایل به اسم AbcTheme است.

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

در داخل تگ style باید اون چیزایی که قصد داریم بازنویسی کنیم رو قرار بدیم. برای هر ویژگی که می‌خوایم بازنویسی کنیم باید یه تگ item تشکلیل بدیم. هر item یه اسم داره و یه مقدار،اسم هر item باید کلمات مشخصی باشه (اسمی که اندروید برای هر خاصیت یک عنصر انتخاب کرده)

مثلا برای اندازه‌ی متن می‌تونیم از این خط استفاده کنیم:


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


 

فایل styles.xml رو ذخیره کنید.

حال اگر از یک TextView در برنامه اندروید خود استفاده کنید. میتوانید استایل خود را بر روی متن اون ست کنید.(طبق تصاویر زیر در محیط اندروید استودیو)
coustom-style1
coustom-style2
coustom-style3
coustom-style4

بعد از اعمال استایل دیدید که رنگ متن و دیگر آیتم های استایل بر روی متن ست شده است.

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

 

 

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *