Hossin
ژانویه 23, 2017 / 2775
مشاهده
کار با style و theme در اندروید
۵ (۱۰۰%)
۱ vote
کار با style و theme در اندروید
استایل (style) پیشفرض اندروید، ممکنه زیبا به نظر برسه اما خیلی ها دوست دارن در برنامه نویسی اندروید خودشون تعیین کنن که هر چیزی چطور نمایش داده بشه، منظورم ابعاد و رنگ و خیلی ویژگیهای ظاهری دیگه است. میخوایم تو این آموزش یاد بگیریم چطور یه استایل بسازیم و در قسمتهای مختلف ازش استفاده کنیم.
میتونیم چند استایل رو در یک فایل xml تعریف کنیم این کار با استفاده از تگ <style> که هر کدوم یک نام خاص و یکتا دارند امکان پذیره.
کد زیر رو ببینید
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="myStyle"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:capitalize">characters</item> <item name="android:typeface">monospace</item> <item name="android:textSize">12pt</item> <item name="android:textColor">#00FF00</item>/> </style> <style name="myStyle2"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:capitalize">characters</item> <item name="android:typeface">monospace</item> <item name="android:textSize">15pt</item> <item name="android:textColor">#FF00</item>/> </style> </resources> |
مقایدر تگ <item> میتونه یک مقدار string ، هگز رنگ (color hex) یا دیگر انواع منابع باشه.
بعد از تعریف استایل نوبت میرسه به استفاده از استایلمون، میتونید از استایل در فایل های Layout استفاده کنید
کد زیر رو دنبال کنید :
|
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text_id" style="@style/myStyle" android:text="@string/hello_world" /> </LinearLayout> |
برای درک بیشتر میتونید از اینجا مطالعه کنید.
ارث بری استایل ها
اندروید از ارث بری استایل پشتیبانی میکنه، شما میتونید در استایل خودتون از قالب های پدر یا از قبل ساخته شده استفاده کنید تا استایل شما خواص های قالب پدر رو به ارث ببره
برای مثال در زیر در استایلی که ساخته ایم از ستایل قالب Theme که استایل اولیه اندروید میباشد ارث بری کرده ایم
|
<resources> <style name="MyTheme" parent="android:style/Theme"> <item name="android:textColorPrimary">#FF0000</item> </style> </resources> |
حالا برای اعمال قالب که ساختیم باید در فایل AndroidManifest.xml این تغییر رو بدیم :
|
<activity android:name="com.myapp.MyActivity" ... android:theme="@style/MyTheme" /> |
قالب شما روی برنامه اعمال شد

style و theme در اندروید
امیدوارم مبحث استایل رو به خوبی یاد گرفته باشید،خب حالا قالب های (themes) اندروید چیه؟!
یک قالب چیزی جز یک استایل نیست که روی یک activity یا برنامه اعمال شده است.
وقتی یک استایل به عنوان قالب در یک برنامه اعمال میشود ، اجزای درون برنامه خواصیت های این استایل رو میگیرند.مثلا اگر استایل (MyTheme) بالا رو در برنامه قرار بدید تمام textView ها به رنگ قرمز در می آیند.
اگز میخواید قالبی که ساختید بر روی تمام صفحه های برنامه اعمال شود در فایل AndroidManifest.xml کد زیر رو تغییر بدید :
|
<application android:theme="@style/MyTheme"> |
برای تغییر رنگ قسمت های مختلف layout مانند پشت زمینه ، رنگ قسمت اعلانات و رنگ عنوان برنامه میتونید مانند زیر عمل کنید
|
<resource> <style name="AppTheme" parent="android:Theme.Material"> <item name ="android:color/primary">@color/primary</item> <item name ="android:color/primaryDark">@color/primary_dark</item> <item name ="android:colorAccent/primary">@color/accent</item> </style> <resource> |
در تصویر زیر میتونید قسمت های مختلف رو ببینید و در قالب تغییرات رو ایجاد کنید

style و theme در اندروید
موفق باشید
کار با style و theme در اندروید
5 (100%)
1 vote