no-img
سامنتا

استایل ها و تم ها در اندروید

یادگیری
تمرین
آینده سازی

سامنتا
دانلودهای ویژه
اطلاعیه های سایت

ادامه مطلب

استایل ها و تم ها در اندروید
zip
مرداد ۹, ۱۳۹۵
دانلود آموزش های فارسی رایگان در کانال سامنتا

استایل ها و تم ها در اندروید


یک style منبعی هست برای تعریف نحوه ی نمایش و ظاهر یک رابطه ی کاربری در برنامه های اندرویدی . 

یک style میتواند به تنهایی برای یک رابط کاربری استفاده شود . به معنی دیگر فقط مختص یک اکتیویتی در برنامه ی اندرویدی باشد یا اینکه میتواند سراسری باشد و در تمام برنامه اعمال شود (تعریف در manifest)

فایل ویدیویی این قسمت بصورت فارسی و با کیفیت اضافه شد جهت سرعت بخشی به اموزش خود حتما انرا بخرید و تماشا کنید 

۲,۰۰۰ تومان – خرید

تعریف style در اندروید

منبع style یک فایل XML هست که جدا از فایل XML لیوت (layout) رابط کاربری شما میباشد . این فایل XML در آدرس res/values/ قرار میگیرد و اجبارا" با تگ <resources> آغاز میشود . نام فایل XML اختیاری هست ولی دقت کنید حتما باید .xml در آخر فایل باشد تا فرمت فایل مذکور xml باشد 

درون این فایل xml شما میتوانید به تعداد دلخواهی style ایجاد کنید . برای ایجاد استایل های خود از تگ <style> استفاده کنید که هر استایلی نام منحصر به فرد خود را داراست .

ویژگی های یک style در اندروید با تگ <item> تعریف میشود . مثال زیر را ببینید : 

<?xml version="1.0" encoding="utf-8"?>
<resources> <style name="CustomFontStyle"> <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>
</resources>

مقدار هر item میتواند یک رشته ی کلیدی ، مقدار هگزای یک رنگ ، یک مرجع برای منابع دیگر یا دیگر مقادیر که با استایل مرتبط باشد .

 استفاده از style در اندروید 

زمانی که style شما ساخته شد . شما میتوانید از style خود در فایل layout خود استفاده کنید . این کار با استفاده از تعریف ویژگی style در فایل 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/CustomFontStyle" android:text="@string/hello_world" />
</LinearLayout>

ارث بری style در اندروید 

اندروید از وراثت در style پشتیبانی میکند این عمل درست همانند css در طراحی وب سایت خواهد بود . شما میتوانید از مورد زمانی استفاده کنید که میخواهید ویژگی و خصوصیات های موجود در یک style دیگر را در style خود به ارث ببرید و فقط موارد جدید خود را اضافه کنید 

برای ساخت یک style جدید یا ویرایش به ادرس MyAndroidApp/res/values/themes.xml بروید و خط های زیر را اضافه کنید 

<resources> ... <style name="MyCustomTheme" parent="android:style/Theme"> <item name="android:textColorPrimary">#ffff0000</item> </style> ...
</resources>

و در فایل مانیفست خود style را تعریف کنید 

<activity android:name="com.myapp.MyActivity" ... android:theme="@style/MyCustomTheme" />

style شما اعمال میشود و هم اکنون که برنامه را اجرا کنید میبینید متن ها قرمز رنگ شده اند 

 

style در اندروید 1

style در اندروید ۱

 

افزودن رنگ ها به ویژگی های Theme

منبع رنگ های شما به برخی از ویژگی های theme اضافه شود . مثلا پس زمینه ی یک صفحه ی یا متن های درون تصویر رنگ مورد نظر شما را به خود اختصاص دهند . 

این ویژگی ها درون فایل styles.xml تعریف میشود برای مثال برای تعریف کردن یک رنگ سفارشی برای پس زمینه یک صفحه کدهای زیر را به theme خود اضافه کنید که در MyAndroidApp/res/values/styles.xml قرار دارد :

<resources> ... <style name="MyCustomTheme" ...> <item name="android:windowBackground">@color/my_custom_color</item> <item name="android:colorBackgroundCacheHint">@color/my_custom_color</item> </style> ...
</resources>

theme در اندروید

theme در اندروید

 

استفاده از Nine-Patch سفارشی به همراه Button ها 

nine-patch نوع خاصی از تصاویر هست که باعث ثابت نگه داشته شدنوضعیت بصری تصویر با وجود تغییر طول و عرض آن هست .  nine-patch بهترین راه برای تعریف ظاهر و رابط کاربری دکمه ها در اندروید هست بنابراین هر drawable میتواند استفاده شود .  یک نمونه از nine-patch را در تصویر زیر مشاهده میکنید:

 

مراحل ساخت دکمه ی nine-patch :

  •  تصویر را در /res/drawable/my_nine_patch.9.png ذخیره کنید
  • style جدیدی تعریف کنید
  • دکمه ی جدید را با استفاده از ویژگی buttonStyle اضافه کنید 

style جدید را اینطور تعریف کنید : 

<resources> ... <style name="MyCustomButton" parent="android:Widget.Button"> <item name="android:background">@drawable/my_nine_patch</item> </style> ...
</resources>

theme جدید را اینطور اعمال کنید : 

<resources> ... <style name="MyCustomTheme" parent=...> ... <item name="android:buttonStyle">@style/MyCustomButton</item> </style> ...
</resources>

 

them4

 

theme ها در اندروید 

امیدواریم با آموزش بالا style در اندروید را بطور کامل یاد گرفته باشید ، خب حالا میخواهیم بهتون theme ها در اندروید رو آموزش بدهیم 

theme چیزی جر یک style نیست که به  جای استایل اصلی در اکتیویتی یا کل برنامه ی اندرویدی اعمال میشود .

بدین ترتیب ، زمانی که یک style بعنوان یک theme تعریف میشود تمامی View های اکتیویتی یا برنامه ، آن خاصیت style را به خود میگیرند . برای مثال شما میتوانید یک style با نام CustomFontStyle بعنوان theme تعریف کنید سپس تمام text های درون آن اکتیویتی سبز رنگ خواهند شد . این style در آموزش های بالا امده است .

برای تعریف theme به کل برنامه شما باید آنرا درون مانیفست AndroidManifest تعریف کنید . برای این کار مانیفست را باز کنید و تگ <application> را ویرایش کنید . ویژگی android:theme را اضافه کنید .

<application android:theme="@style/CustomFontStyle">

ولی اگر شما میخواااهید که theme فقط برای یک اکتیویتی اعمال شود این ویژگی را به تگ همان اکتیویتی بدهید و نیازی نیست که به تگ برنامه اضافه کنید 

<activity android:theme="@style/CustomFontStyle">

 

تعدادی theme وجود دارد که بصورت پیشفرض توسط اندروید ساخته شده هستند که شما میتوانید مستقیما یا بصورت ارث بری از آنها استفاده کنید برای اینکار از خصوصیت parent  میتوانید استفاده کنید 

<style name="CustomTheme" parent="android:Theme.Light"> ...
</style>

ویرایش رنگ های style در اندروید 

طراحی layout ها دراندروید  میتواند بر اساس رنگ های پایه ای باشد مثلا تصویر زیر بر اساس رنگ های پایه پیاده سازی شده است 

them5

تصویر بالا در فایل style.xml تعریف شده است که در res/values/ قرار میگیرد 

<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 های فراوانی را بصورت پیشفرض درون خود دارد که شما میتوانید از آنها بصورت پیش فرض استفاده کنید شما میتوانید لیست تمام آنها را در فایل کلاس R.style پیدا کنید 

برای استفاده از موارد موجود در این لیست ، نام آنها را بصورت کامل جایگزین style یا theme قبلی بکنید برای نمونه اگر میخواهید از Theme_NoTitleBar  استفاده کنید به شکل زیر عمل کنید و خصوصیت زیر را برای برنامه یا تنها اکتیویتی مورد نیاز تغییر دهید 

@android:style/Theme.NoTitleBar

 

تمام 



درباره نویسنده

تیم سامنتا 73 نوشته در سامنتا دارد . مشاهده تمام نوشته های

دیدگاه ها


2 پاسخ به “استایل ها و تم ها در اندروید”

  1. ناهید گفت:

    مدتی میشه برنامه نویسی اندروید رو از سایت شما شروع کردم و آموزش های شما رو مطالعه میکنم واقعا توضیحات زیبا و کاربردی میدید که هیچ منبع فارسی برای اندروید به این خوبی نیست

    ممنون از مهندس نیکزاد 

پاسخ دهید

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