Radiomedia 36 ارسال شده در 10 خرداد، ۱۳۹۹ اشتراک گذاری ارسال شده در 10 خرداد، ۱۳۹۹ با سلام آموزش دوم (تازه دارم گرم میشم) آموزش قبلی: اینجا خب آموزش تغییر تم سفارشی مثل حالت شب برنامه حین اجرا بدون appcompat این سورس و آموزش در سایت مرجع هم بود اما برای تم های پیشفرض بود نه سفارشی، اصلاحش کردم ایشاله اوکی باشید. طبق این آموزش تم متریال ما ادامه میدیم: چون ما به دو یا چند تم احتیاج داریم به صورت زیر عمل میکنیم: در منیفست: CreateResource(values-v21, themedark.xml, <resources> <style name="DarkTheme" parent="@android:style/Theme.Material"> <item name="android:colorPrimary">@color/prDark</item> <item name="android:colorAccent">@color/accentDark</item> <!-- checkboxes,, switches. msgbox buttons in Android 6.x --> </style> </resources> ) CreateResource(values-v21, theme.xml, <resources> <style name="LightTheme" parent="@android:style/Theme.Material.Light"> <item name="android:colorPrimary">@color/pr</item> <item name="android:colorAccent">@color/accentLight</item> </resources> ) برای api های زیر 21 هم خودش از تم هایی که رفرنس کردیم ارث بری میکنه (طبق آموزش لینک شده) فقط اینکه رنگ های دلخواه ما رو داخلش نمی زنه. در b4a کد های زیر رو وارد کنید: Sub Process_Globals Private Theme_Value As Int Private res As XmlLayoutBuilder End Sub Private Sub SetTheme (Theme As Int) If Theme = 0 Then Return End If If Theme = Theme_Value Then Return File.WriteString(File.DirInternal, "theme.txt", Theme) Theme_Value = Theme Activity.Finish StartActivity(Me) End Sub #if java import anywheresoftware.b4a.objects.streams.*; public void _onCreate() { try { if (File.Exists(getFilesDir().toString(), "theme.txt")) _theme_value = Integer.parseInt(File.ReadString(getFilesDir().toString(), "theme.txt")); } catch (Exception e) { throw new RuntimeException(e); } if (_theme_value != 0) setTheme(_theme_value); } #end if برای تنظیم تم هم در رویداد مثلا کلیک باتن کد زیر: SetTheme(res.GetResourceId("style", "LightTheme")) و SetTheme(res.GetResourceId("style", "DarkTheme")) این آموزش در سایت مرجع در فراخوانی استایل دلخواه ایراد داشت که با آزمون و خطا اصلاحش کردم، البته چون اون برای تم های پیشفرض بود اما این سفارشیه، فرقش هم این بود که در خط بالا بجای: style نوشته بود: android:style بهرحال امیدوارم بدردتون بخوره، ایشاله همیشه لبتون خندون باشه. آموزش بعدی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.