رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

asajadi84

آموزش تغییر تم به متریال با XML

پست های پیشنهاد شده

asajadi84    567

کاربر نیمه فعال

ابتدا توی مانیفست ادیتور مقادیر min و target رو به صورت زیر تغییر می دیم:

<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="21"/>

سپس توی مسیر پروژه می ریم توی فولدر Objects و سپس res و یه فولدر جدید به اسم values-v21 می سازیم.

یعنی مسیر باید به این صورت باشه: Objects\res\values-v21

 

حالا توی این فولدر فایلی به اسم theme.xml می سازیم و کدهای زیر رو درونش قرار می دیم:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyAppTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
  <item name="android:colorPrimary">#FF9800</item>
  <item name="android:colorPrimaryDark">#F57C00</item>
  <item name="android:colorAccent">#FF9800</item>
  </style>
</resources>

همونطور که توی کد هم مشاهده می کنید سه تا کد رنگ هگزادسیمال دیده می شه که می تونید مطابق سلیقه ی خودتون اون ها رو تغییر بدید.

colorPrimary: رنگ اصلی و پس زمینه ی اکشن بار

colorPrimaryDark: رنگ استاتوس بار

colorAccent: رنگ کلیدها و سایر المنت ها مثل چک باکس ها و...

 

برای این که برنامه توی نسخه های پایین تر اندروید هم بدون مشکل نشون داده بشه توی فولدری که values-21 رو ساختیم یه فولدر دیگه به اسم values هم می سازیم و توی این فولدر یه فایل theme.xml با متن زیر ایجاد می کنیم:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
  </style>
</resources>

حالا این کد رو جایگزین کد تم توی مانیفست ادیتور کنید:

SetApplicationAttribute(android:theme, "@style/MyAppTheme") 

نکته: به جای MyAppTheme توی کدهای xml بالا می تونید یه اسم دلخواه برای تم تون انتخاب کنید. فقط دقت داشته باشید که همون اسم رو بعداً باید توی مانیفست ادیتور اضافه کنید.

 

تذکر مهم: فولدرهای values-21 و values رو باید به صورت read-only در بیارید در غیر این صورت موقع کامپایل حذف می شن و برنامه ارور میده.

 

موفق باشید :gol:

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
شایان آباد    2,147

پاسخگو و راهنما

درود

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

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

 

http://answercenter.ir/topic/9382-%D8%B3%D9%88%D8%B1%D8%B3-%D8%AA%D9%85-%D9%85%D8%AA%D8%B1%DB%8C%D8%A7%D9%84-%D8%A8%D8%A7-xml/

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
apksky    123

کاربر رو به رشد

سلام و ممنون از این آموزشتون

من این سورس رو دانلود کردم و یکبار هم طبق آموزش های شما پیش رفتم هر دو بار ارور زیر رو میده کامپایل نمیشه.

 

2.png

 

به نظرتون مشکل از چیه؟

درضمن b4a هم نسخه 5.50 هست.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
امین پوراباذری    1,039

پاسخگو و راهنما

 

With this tutorial series I will introduce some of the Material Design guidelines and explain some differences to the Holo Design.

For a good start it will be helpful if you know what material design is so it is a good idea to spend some time to study the first few chapters of the official Google "Material Design" guidelines.

 

این کجاش متریال هست . این فقط تم کاستوم هست که تم هلو یه تغییراتی داخلش دادن . برای اینکه متریال بشه فقط کافی داخل دیزاینر تم متریال رو اضافه کنید. که تم برنامه متریال بشه نه کل برنامه . برای اینکه یه برنامه متریال داشته باشید باید از کتابخونه ها و از قواعد متریال داخل اپتون استفاده کنید نه اینکه یه تم بگذارید بعد فکر کنید همه چی تموم شد. 

 

بالا هم گفته که فقط یه شبیه سازی هست . برای شروع کار با متریال . که الان دیگه خود بیسیک 5.5 تم متریال ساپورت میکنه لازم نیست هلو تغییر بدین شبیه متریالش کنید.

SetApplicationAttribute(android:theme, "@android:style/Theme.Material.Light")

تم بالا را جایگزین تم هلو کنید . بعد روی اندورید 5 به بالا تست کنید می بینید که ادیت تسکت ها مثلا  و ... تغییر کردن متریال شدن.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
Shayan Shojaei    1,741

پاسخگو و راهنما

راهی نداره که روی همه اندروید ها material بشه؟؟؟؟؟؟؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
امین پوراباذری    1,039

پاسخگو و راهنما

راهی نداره که روی همه اندروید ها material بشه؟؟؟؟؟؟؟

نه متریال برای اندورید 5 به بالا هست . البته با appcompat میشه

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
Shayan Shojaei    1,741

پاسخگو و راهنما

بله AppCompat واسه همینه دیگه

خب من نمیخوام با AppCompat باشه!

میخوام اگه بشه با همین روش انجام بدم...

آموزش کامل و درست و حسابی AppCompat هم پیدا نکردم..!!

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
7lovely    0

کاربر عادی

سلام

طبق چیزی که گفتید پیش رفتم اما ارور زیر رو میده

B4A Version: 8.00
Parsing code.    (0.02s)
Compiling code.    (0.09s)
Compiling layouts code.    (0.07s)
Organizing libraries.    (1.66s)
Generating R file.    Error
res\values-v21\theme.xml:1: error: Error parsing XML: not well-formed (invalid token)
 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

×
×
  • جدید...