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

4 سال پیش

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

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد استایل و تم ها در برنامه نویسی اندروید صحبت خواهیم کرد.

تعریف استایل

یک استایل (style) در یک منبع XML تعریف می شود که جدا از XML است که طرحی را مشخص می کند. این فایل XML در زیر فهرست res/values/ directory  پروژه شما قرار دارد.

با استفاده از برچسب <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> می تواند یک رشته کلمات کلیدی، یک رنگ Hex، اشاره به نوع منبع دیگر یا مقدار دیگری، بسته به ویژگی استایل باشد.

استفاده از استایل ها

هنگامی که استایل شما مشخص شد ، می توانید از آن در فایل Layout XML خود با استفاده از ویژگی style به شرح زیر استفاده کنید –

<?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>

 

وراثت استایل در اندروید

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

برای پیاده سازی یک تم سفارشی ، MyAndroidApp / res / values / themes.xml را ایجاد یا ویرایش کنید و موارد زیر را اضافه کنید –

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

در AndroidManifest.xml خود این زمینه را برای فعالیتهایی که می خواهید استایل کنید، اعمال کنید –

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

تم جدید شما روی فعالیت شما اعمال می شود و متن اکنون با رنگ قرمز روشن است.

استفاده از رنگ ها در ویژگی های تم

منبع رنگی شما می تواند با افزودن عناصر <item> روی برخی از ویژگی های تم مانند پس زمینه پنجره و رنگ اصلی متن اعمال شود. این ویژگی ها در پرونده styles.xml شما تعریف می شوند. به عنوان مثال ، برای اعمال رنگ سفارشی در پس زمینه پنجره، دو عنصر <item> زیر را به موضوع سفارشی خود اضافه کنید

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

 

 

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

نقاشی Nine-Patch نوعی تصویر خاص است که می تواند در عرض و ارتفاع مقیاس بندی شود و در عین حال یکپارچگی بصری خود را حفظ کند.

Nine-Patch متداول ترین روش برای تعیین شکل ظاهری دکمه های اندروید است ، هرچند می توان از هر نوع نوع قابل نقاشی استفاده کرد.

مراحل ایجاد دکمه های Nine-Patch

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

تعریف یک استایل جدید 

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

 

اعمال تم

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

 

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

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

بنابراین ، وقتی یک استایل به عنوان یک موضوع اعمال می شود، هر View در Activity یا برنامه از هر ویژگی سبک پشتیبانی می کند. به عنوان مثال، شما می توانید همان سبک CustomFontStyle را به عنوان یک تم برای یک Activity اعمال کنید و سپس تمام متن درون آن Activity دارای فونت سبز است.

برای تنظیم یک تم برای تمام فعالیت های برنامه خود، پرونده AndroidManifest.xml را باز کنید و برچسب <application> را ویرایش کنید تا شامل ویژگی android: theme با نام استایل باشد. به عنوان مثال:

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

اما اگر می خواهید یک تم فقط در یک Activity در برنامه شما اعمال شود ، ویژگی android: theme را فقط به برچسب <activity> اضافه کنید. مثلا

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

تعداد زیادی تم پیش فرض توسط اندروید تعریف شده است که می توانید مستقیماً از آنها استفاده کنید یا آنها را با استفاده از ویژگی والد به شرح زیر ارث ببرید –

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

 

ظاهر سازی پالت رنگ

یک طرح بندی براساس رنگهای مبتنی بر آنها قابل پیاده سازی است، به عنوان مثال طراحی زیر بر اساس رنگ آنها (آبی) طراحی شده است

طراحی بالا بر اساس فایل 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>

 

 استایل ها و تم پیش فرض

پلتفرم اندروید مجموعه بزرگی از استایل ها و تم ها را ارائه می دهد که می توانید در برنامه های خود استفاده کنید. می توانید مرجعی از تمام استایل های موجود در کلاس R.style پیدا کنید.

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه