View Full Version : پیش نمایش تنظیمات
hamid2006
یک شنبه 10 خرداد 1394, 08:33 صبح
سلام دوستان
من برای برنامه ام برای اکتیویتی تنظیمات از preferenceAvtivity استفاده کردم و همان طور که می دانید مثل XML های عادی نمیشه طراحیش کرد
چطوری میشه برای تنظیماتی که مربوط به فونت و سایز هست یک پیش نمایش قرار بدهم .
ممنون
tux-world
یک شنبه 10 خرداد 1394, 09:16 صبح
خوب شما تو همون قسمت میای کلیک تعریف میکنی به ازای هر آیتمی که تو پرفرنس داری. بعد میگی اگه رو یکیش کلیک شد دیالوگ باز کنه و فونت انتخاب بشه و اون مقدار در پرفرنس ذخیره بشه.
کد تقریبا گنگ هستش امیدوارم توضیحات کافی باشه
Preference myPref = findPreference("DEFULT_SEND_SMS_NUMBER");
myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
DialogSendSmsNumberPicker panelNumberDialog = new DialogSendSmsNumberPicker(G.currentActivity);
panelNumberDialog.setChoosePanelNumberListener(new IOnSelectedSmsNumberListener() {
@Override
public void getPanelNumber(String selectedSmsNumber) {
G.SP.save(SPTypes.SEND_DEFULT_NUMBER, selectedSmsNumber);
}
});
panelNumberDialog.showPreference(G.SP.getString(SP Types.SEND_DEFULT_NUMBER));
return false;
}
});
DEFULT_SEND_SMS_NUMBER آیتمی هستش که شما تو xml برای گزینه تعریف کردید. مثال تقریبا کامل هستش .
hamid2006
یک شنبه 10 خرداد 1394, 10:39 صبح
ممنون
راستش من از کد چیزی نفهمیدم ولی فکر کنم اشتباه متوجه شدید
من صفحه تنظیمات را ایجاد کردم و در برنامه هم بدون اشکال استفاده می کنم فقط می خوام در صفحه تنظیمات مثلا یک TextView قرار بدم که تغییرات را همان صفحه ببینم
ولی چون PreferenceScreen هست نمیدونم چکار کنم.
tux-world
یک شنبه 10 خرداد 1394, 11:56 صبح
به نظرم داری اشتباه میکنی تو پرفرنس خودش گزینه ای داره که وقتی تغییر میکنه نمایش میده که این گزینه فعال هستش یا غیرفعال. یعنی بر حسب مقدار فعلی اون متن رو نمایش میده. این منظورتونه؟
hamid2006
یک شنبه 10 خرداد 1394, 16:10 عصر
برنامه زیر تغییرات در یک TextView نمایش میدهد ولی از preferenceActivity استفاده نکرده
131834
و صفحه preferenceActivity من
131835131836
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.