آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تغییر رنگ بک گراند تمام اکتیویتی ها با کلیک بر روی یک دکمه

jafar  12 سال پیش  12 سال پیش
+2 0

سلام

میخواستم تو بخش تنظیمات برنامم چند تا دکمه ایجاد کنم

و با کلیک کردن روی هر کدام رنگ بک گراند همه اکتیویتی ها عوض بشه

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
JavaDroid  12 سال پیش
+2 0

بهتره از ذخیره سازی رنگ به صورت SharedPreferences اقدام کنید . و در اکتیویتی های مقصد اطلاعات رنگ رو خونده و رنگ رو اعمال کنید این سوال رو ببینید...

ذخیره سازی تنظیمات

0 0
میشه یه مثال کوچیک بزنید (12 سال پیش)
پاسخ به سوال 
JavaDroid  12 سال پیش
+3 0

در صفحه تنظیمات مثلا سه تا دکمه داری به سه رنگ ابی ، زرد و سبز

و یک دکمه ذخیره تنظیمات ...

یک متغیر سراسری تعریف میکنی از نوع String مثلا با نام myColor

حالا روی هر رنگ که تاچ شد مثلا رنگ ابی اون رنگ رو توی متغیر بریز ..

  mycolor="#0000ff"; //red-green-blue-alpha  >>  blue 

یا اسم رنگ رو بذار بعدا داخل هر اکتویتی تبدیل به کد رنگ...

حالا روی کلیک دکمه ذخیره سازی اینو بنویس

 SharedPreferences sp = getSharedPreferences("myapp", 0);
SharedPreferences.Editor spe = sp.edit();
spe.putString("color", mycolor);
spe.commit();
Toast.makeText(getBaseContext(), "با موفقیت ذخیره شد", Toast.LENGTH_SHORT).show();



حالا توی onresume یا oncreate هر اکتویتی برنامه ات این کد روبنویس (برای هر اکتویتی یه فایل xml ظاهر داری که شامل یک

نگه دارنده هس مثل linear layout براش یه id بذار و بیا توی اکتویتی اون و به کمک اون id یه شی ازش بساز تا بتونی رنگ عوض کنی)

مثلا من یه linearLayout دارم با نام lin1  و ی شی با همین نام ازش ساختم

حالا میگم:

SharedPreferences sp = getSharedPreferences("myapp", 0); 
String giveColor = sp.getString("color", "#0000ff"); //نکته
lin1.setBackgroundColor(Color.parseColor(giveColoe));


به همین راحتی ...

نکته : ورودی دوم وقتی که نشه مقدار ذخیره شده رو خوند و یا مقداری وجود نداشته باشه میاد .

 

 

 



+1 0
دوستان واقعاً Vote نداره این پاسخ؟! به هم اعتبار بدید. (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .