public static void PreferredSupportOnResume(PreferenceFragmentCompat Pref) { if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_servant)) is MultiSelectListPreference pref) { var entries = Directory .EnumerateFileSystemEntries(ImageLocator.SupportServantImgFolder) .Select(Path.GetFileName) .OrderBy(M => M) .ToArray(); pref.SetEntryValues(entries); pref.SetEntries(entries); } if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_ce)) is MultiSelectListPreference prefce) { var entries = Directory .EnumerateFiles(ImageLocator.SupportCeImgFolder) .Select(Path.GetFileName) .OrderBy(M => M) .ToArray(); prefce.SetEntryValues(entries); prefce.SetEntries(entries); } }
public bool OnPreferenceStartScreen(PreferenceFragmentCompat caller, PreferenceScreen pref) { var ft = SupportFragmentManager.BeginTransaction(); PreferenceFragmentCompat fragment; if (pref.Key == "leaguesSettings") { fragment = ChooseLeaguesSettingsFragment.Instance(Leagues); } else { fragment = ChooseNotificationsSettingsFragment.Instance(); } Bundle args = new Bundle(); args.PutString(PreferenceFragmentCompat.ArgPreferenceRoot, pref.Key); fragment.Arguments = args; ft.Replace(Resource.Id.content_frame, fragment, pref.Key).AddToBackStack(null).Commit(); SetDrawerState(false); return(true); }
public bool OnPreferenceStartFragment(PreferenceFragmentCompat caller, Preference pref) { string fragmentQualifiedName = string.Empty; //Switch: a Workaround, there's not possible way to get the fragment's qualified name to Start //in Xamarin Android. //Check first if what we have to start is a fragment replace or start a new activity //I've developed a custom convention for this. //if the name of the fragment class file contains 'Fragment' then it should do the replace fragment operation //if contains 'Activity' then it should start an activity. if (pref.Fragment.Contains("Fragment")) { switch (pref.Fragment) { case "LockScreenSettingsFragment": fragmentQualifiedName = Java.Lang.Class.FromType(typeof(LockScreenSettingsFragment)).Name; break; case "NotificationSettingsFragment": fragmentQualifiedName = Java.Lang.Class.FromType(typeof(NotificationSettingsFragment)).Name; break; case "AwakeSettingsFragment": fragmentQualifiedName = Java.Lang.Class.FromType(typeof(AwakeSettingsFragment)).Name; break; case "MusicWidgetSettingsFragment": fragmentQualifiedName = Java.Lang.Class.FromType(typeof(MusicWidgetSettingsFragment)).Name; break; case "WeatherSettingsFragment": fragmentQualifiedName = Java.Lang.Class.FromType(typeof(WeatherSettingsFragment)).Name; break; case "AboutFragment": fragmentQualifiedName = Java.Lang.Class.FromType(typeof(AboutFragment)).Name; break; default: break; } // Instantiate the new Fragment var args = pref.Extras; var fragment = SupportFragmentManager.FragmentFactory.Instantiate( ClassLoader, fragmentQualifiedName); //Normally it should be 'pref.Fragment' fragment.Arguments = args; fragment.SetTargetFragment(caller, 0); // Replace the existing Fragment with the new Fragment SupportFragmentManager.BeginTransaction() .Replace(Resource.Id.content, fragment) .AddToBackStack(null) .Commit(); } return(true); }
public bool OnPreferenceStartScreen(PreferenceFragmentCompat caller, PreferenceScreen pref) { var fragment = new SettingsView(); var args = new Bundle(); args.PutString(ArgPreferenceRoot, pref.Key); fragment.Arguments = args; this.Activity.SupportFragmentManager.BeginTransaction().Replace(Resource.Id.frame_schedule, fragment, pref.Key) .AddToBackStack(pref.Key).Commit(); return(true); }
public bool OnPreferenceStartFragment(PreferenceFragmentCompat Caller, Preference Pref) { var args = Pref.Extras; var fragment = SupportFragmentManager .FragmentFactory .Instantiate(ClassLoader, Pref.Fragment); fragment.Arguments = args; fragment.SetTargetFragment(Caller, 0); SupportFragmentManager .BeginTransaction() .SetCustomAnimations(Android.Resource.Animation.FadeIn, Android.Resource.Animation.FadeOut, Android.Resource.Animation.FadeIn, Android.Resource.Animation.FadeOut) .Replace(Resource.Id.main_pref_frame, fragment) .AddToBackStack(null) .Commit(); return(true); }
public static void PreferredSupportOnCreate(PreferenceFragmentCompat Pref) { if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_servant)) is MultiSelectListPreference pref) { pref.SummaryProvider = new MultiSelectListSummaryProvider(); if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_servant_clear)) is { } servClear) { servClear.PreferenceClick += (S, E) => pref.Values = new List <string>(); } } if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_ce)) is MultiSelectListPreference prefce) { prefce.SummaryProvider = new MultiSelectListSummaryProvider(); if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_ce_clear)) is { } ceClear) { ceClear.PreferenceClick += (S, E) => prefce.Values = new List <string>(); } } }
public static void SetupServantAndCEPrefs(PreferenceFragmentCompat Pref) { if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_servant)) is MultiSelectListPreference pref) { var entries = Directory .EnumerateFileSystemEntries(ImageLocator.SupportServantImgFolder) .Select(Path.GetFileName) .OrderBy(M => M) .ToArray(); pref.SetEntryValues(entries); pref.SetEntries(entries); pref.SummaryProvider = new MultiSelectListSummaryProvider(); if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_servant_clear)) is { } servClear) { servClear.PreferenceClick += (S, E) => pref.Values = new List <string>(); } } if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_ce)) is MultiSelectListPreference prefce) { var entries = Directory .EnumerateFiles(ImageLocator.SupportCeImgFolder) .Select(Path.GetFileName) .OrderBy(M => M) .ToArray(); prefce.SetEntryValues(entries); prefce.SetEntries(entries); prefce.SummaryProvider = new MultiSelectListSummaryProvider(); if (Pref.FindPreference(Pref.GetString(Resource.String.pref_support_pref_ce_clear)) is { } ceClear) { ceClear.PreferenceClick += (S, E) => prefce.Values = new List <string>(); } } }