public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { // Currently in a layout without a container, so no reason to create our view. return(null); } View view = inflater.Inflate(Resource.Layout.Give_Primary, container, false); view.SetOnTouchListener(this); RelativeLayout headerLayer = view.FindViewById <RelativeLayout>(Resource.Id.background); ControlStyling.StyleBGLayer(headerLayer); TextView headerLabel = view.FindViewById <TextView>(Resource.Id.headerLabel); headerLabel.Text = GiveStrings.Header; ControlStyling.StyleUILabel(headerLabel, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); Button giveButton = view.FindViewById <Button>(Resource.Id.button); ControlStyling.StyleButton(giveButton, GiveStrings.ButtonLabel, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); giveButton.Click += (object sender, EventArgs e) => { LaunchGive( ); }; return(view); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { // Currently in a layout without a container, so no reason to create our view. return(null); } GroupEntries = new List <MobileAppApi.GroupSearchResult>(); MarkerList = new List <Android.Gms.Maps.Model.Marker>(); SourceLocation = new MobileAppApi.GroupSearchResult(); // limit the address to 90% of the screen so it doesn't conflict with the progress bar. Point displaySize = new Point( ); Activity.WindowManager.DefaultDisplay.GetSize(displaySize); //float fixedWidth = displaySize.X / 4.0f; // catch any exceptions thrown, as they'll be related to no map API key try { MapView = new Android.Gms.Maps.MapView(Rock.Mobile.PlatformSpecific.Android.Core.Context); MapView.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); MapView.LayoutParameters.Height = (int)(displaySize.Y * .50f); MapView.GetMapAsync(this); MapView.SetBackgroundColor(Color.Black); MapView.OnCreate(savedInstanceState); } catch { MapView = null; Rock.Mobile.Util.Debug.WriteLine("GOOGLE MAPS: Unable to create. Verify you have a valid API KEY."); } NumRequestedGroups = 10; SearchAddressButton = new Button(Rock.Mobile.PlatformSpecific.Android.Core.Context); SearchAddressButton.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); ControlStyling.StyleButton(SearchAddressButton, ConnectStrings.GroupFinder_SearchButtonLabel, ControlStylingConfig.Font_Regular, ControlStylingConfig.Small_FontSize); SearchAddressButton.Click += (object sender, EventArgs e) => { SearchPage.Show( ); }; // setup the linear layout containing the "Your Neighborhood is: Horizon" text SearchLayout = new LinearLayout(Rock.Mobile.PlatformSpecific.Android.Core.Context); SearchLayout.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); SearchLayout.SetBackgroundColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.BG_Layer_Color)); SearchLayout.SetGravity(GravityFlags.Center); SearchResultPrefix = new TextView(Rock.Mobile.PlatformSpecific.Android.Core.Context); SearchResultPrefix.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent); SearchResultPrefix.SetTypeface(Rock.Mobile.PlatformSpecific.Android.Graphics.FontManager.Instance.GetFont(ControlStylingConfig.Font_Regular), TypefaceStyle.Normal); SearchResultPrefix.SetTextSize(Android.Util.ComplexUnitType.Dip, ControlStylingConfig.Small_FontSize); SearchResultPrefix.SetTextColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.TextField_PlaceholderTextColor)); SearchResultPrefix.Text = ConnectStrings.GroupFinder_NoGroupsFound; SearchResultNeighborhood = new TextView(Rock.Mobile.PlatformSpecific.Android.Core.Context); SearchResultNeighborhood.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent); SearchResultNeighborhood.SetTypeface(Rock.Mobile.PlatformSpecific.Android.Graphics.FontManager.Instance.GetFont(ControlStylingConfig.Font_Regular), TypefaceStyle.Normal); SearchResultNeighborhood.SetTextSize(Android.Util.ComplexUnitType.Dip, ControlStylingConfig.Small_FontSize); SearchResultNeighborhood.SetTextColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.TextField_ActiveTextColor)); SearchResultNeighborhood.Text = ""; Seperator = new View(Rock.Mobile.PlatformSpecific.Android.Core.Context); Seperator.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, 0); Seperator.LayoutParameters.Height = 2; Seperator.SetBackgroundColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.BG_Layer_BorderColor)); ListView = new ListView(Rock.Mobile.PlatformSpecific.Android.Core.Context); ListView.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); ListView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => { OnClick(e.Position, 0); }; ListView.SetOnTouchListener(this); ListView.Adapter = new GroupArrayAdapter(this); View view = inflater.Inflate(Resource.Layout.Connect_GroupFinder, container, false); view.SetOnTouchListener(this); view.SetBackgroundColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.BG_Layer_Color)); LinearLayout groupLayout = view.FindViewById <LinearLayout>(Resource.Id.groupFrame) as LinearLayout; // setup the address layout, which has the address text, padding, and finally the progress bar. if (MapView != null) { ((LinearLayout)groupLayout).AddView(MapView); } ((LinearLayout)groupLayout).AddView(SearchAddressButton); ((LinearLayout)groupLayout).AddView(SearchLayout); ((LinearLayout)SearchLayout).AddView(SearchResultPrefix); ((LinearLayout)SearchLayout).AddView(SearchResultNeighborhood); ((LinearLayout)groupLayout).AddView(Seperator); ((LinearLayout)groupLayout).AddView(ListView); BlockerView = new UIBlockerView(view, new System.Drawing.RectangleF(0, 0, NavbarFragment.GetCurrentContainerDisplayWidth( ), this.Resources.DisplayMetrics.HeightPixels)); SearchPage = new UIGroupFinderSearch(); SearchPage.Create(view, new System.Drawing.RectangleF(0, 0, NavbarFragment.GetCurrentContainerDisplayWidth( ), this.Resources.DisplayMetrics.HeightPixels), // Search Neighborhood Groups delegate { SearchPage.Hide(true); GetInitialGroups(PrivateGeneralConfig.GroupType_Neighborhood_GroupId, SearchPage.Street.Text, SearchPage.City.Text, SearchPage.State.Text, SearchPage.ZipCode.Text); }, // Search Next Gen Groups delegate { SearchPage.Hide(true); GetInitialGroups(PrivateGeneralConfig.GroupType_NextGenGroupId, SearchPage.Street.Text, SearchPage.City.Text, SearchPage.State.Text, SearchPage.ZipCode.Text); }, // Search Young Adult Groups delegate { SearchPage.Hide(true); GetInitialGroups(PrivateGeneralConfig.GroupType_YoungAdultsGroupId, SearchPage.Street.Text, SearchPage.City.Text, SearchPage.State.Text, SearchPage.ZipCode.Text); }); SearchPage.SetTitle(ConnectStrings.GroupFinder_SearchPageHeader, ConnectStrings.GroupFinder_SearchPageDetails); SearchPage.LayoutChanged(new System.Drawing.RectangleF(0, 0, NavbarFragment.GetCurrentContainerDisplayWidth( ), this.Resources.DisplayMetrics.HeightPixels)); SearchPage.Hide(false); // if we should automatically show the search page... if (ShowSearchOnAppear == true) { // don't allow them to tap the address button until we reveal the search page. SearchAddressButton.Enabled = false; // wait a couple seconds before revealing the search page. System.Timers.Timer timer = new System.Timers.Timer(); timer.AutoReset = false; timer.Interval = 1000; timer.Elapsed += (object sender, System.Timers.ElapsedEventArgs e) => { Rock.Mobile.Threading.Util.PerformOnUIThread(delegate { SearchAddressButton.Enabled = true; SearchPage.Show( ); }); }; timer.Start( ); } else { // otherwise, just allow the seach button SearchAddressButton.Enabled = true; } // hook into the search page as its listener ((View)SearchPage.View.PlatformNativeObject).SetOnTouchListener(this); ((EditText)SearchPage.Street.PlatformNativeObject).SetOnEditorActionListener(this); ((EditText)SearchPage.City.PlatformNativeObject).SetOnEditorActionListener(this); ((EditText)SearchPage.State.PlatformNativeObject).SetOnEditorActionListener(this); ((EditText)SearchPage.ZipCode.PlatformNativeObject).SetOnEditorActionListener(this); return(view); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { // Currently in a layout without a container, so no reason to create our view. return(null); } // at this point our properties should be set. View view = inflater.Inflate(Resource.Layout.News_Details, container, false); view.SetOnTouchListener(this); view.SetBackgroundColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.BackgroundColor)); // set the banner RelativeLayout headerImageLayout = view.FindViewById <RelativeLayout>(Resource.Id.news_details_header_image_layout); ImageBanner = new Rock.Mobile.PlatformSpecific.Android.Graphics.AspectScaledImageView(Activity); headerImageLayout.AddView(ImageBanner, 0); int width = NavbarFragment.GetCurrentContainerDisplayWidth( ); int height = (int)System.Math.Ceiling(width * PrivateNewsConfig.NewsMainAspectRatio); ImageBanner.LayoutParameters = new RelativeLayout.LayoutParams(width, height); // set the button Button headerButton = view.FindViewById <Button>(Resource.Id.news_details_header_image_button); headerButton.LayoutParameters = new RelativeLayout.LayoutParams(width, height); headerButton.Click += (object sender, EventArgs e) => { if (string.IsNullOrWhiteSpace(ReferenceURL) == false) { ParentTask.OnClick(this, headerButton.Id); } }; TextView title = view.FindViewById <TextView>(Resource.Id.news_details_title); title.Text = Title?.ToUpper( ); title.SetSingleLine( ); title.Ellipsize = Android.Text.TextUtils.TruncateAt.End; title.SetMaxLines(1); title.SetHorizontallyScrolling(true); ControlStyling.StyleUILabel(title, ControlStylingConfig.Font_Bold, ControlStylingConfig.Large_FontSize); // set the description TextView description = view.FindViewById <TextView>(Resource.Id.news_details_details); description.Text = Description; description.MovementMethod = new ScrollingMovementMethod(); ControlStyling.StyleUILabel(description, ControlStylingConfig.Font_Light, ControlStylingConfig.Small_FontSize); // if we're in developer mode, add the start / end times for this promotion if (MobileApp.Shared.Network.RockLaunchData.Instance.Data.DeveloperModeEnabled == true) { // if we're in developer mode, add the start / end times for this promotion if (MobileApp.Shared.Network.RockLaunchData.Instance.Data.DeveloperModeEnabled == true) { description.Text += DeveloperInfo; } } Button launchUrlButton = view.FindViewById <Button>(Resource.Id.news_details_launch_url); launchUrlButton.Click += (object sender, EventArgs e) => { // move to the next page... ParentTask.OnClick(this, launchUrlButton.Id); }; ControlStyling.StyleButton(launchUrlButton, NewsStrings.LearnMore, ControlStylingConfig.Font_Regular, ControlStylingConfig.Small_FontSize); // hide the button if there's no reference URL. if (string.IsNullOrWhiteSpace(ReferenceURL) == true) { launchUrlButton.Visibility = ViewStates.Gone; } else { launchUrlButton.Visibility = ViewStates.Visible; } return(view); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { // Currently in a layout without a container, so no reason to create our view. return(null); } View view = inflater.Inflate(Resource.Layout.Prayer_Primary, container, false); view.SetOnTouchListener(this); view.SetBackgroundColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.BackgroundColor)); ActivityIndicator = (ProgressBar)view.FindViewById <ProgressBar>(Resource.Id.prayer_primary_activityIndicator); ActivityIndicator.Visibility = ViewStates.Invisible; // create the carousel float prayerRegionHeight = GetPrayerRegionHeight( ); float cardWidth = GetCardWidth( ); float cardHeight = GetCardHeight( ); // setup the card positions to be to the offscreen to the left, centered on screen, and offscreen to the right float cardYOffset = (prayerRegionHeight - cardHeight) / 2; PrayerCardSize = new RectangleF(0, 0, cardWidth, cardHeight); // setup the card positions to be to the offscreen to the left, centered on screen, and offscreen to the right Carousel = PlatformCardCarousel.Create(view, cardWidth, cardHeight, new RectangleF(0, cardYOffset, NavbarFragment.GetCurrentContainerDisplayWidth( ), prayerRegionHeight), PrivatePrayerConfig.Card_AnimationDuration); // setup our error UI StatusLayer = view.FindViewById <View>(Resource.Id.status_background); ControlStyling.StyleBGLayer(StatusLayer); StatusText = StatusLayer.FindViewById <TextView>(Resource.Id.text); ControlStyling.StyleUILabel(StatusText, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); ResultLayer = view.FindViewById <View>(Resource.Id.result_background); ControlStyling.StyleBGLayer(ResultLayer); ResultSymbol = ResultLayer.FindViewById <TextView>(Resource.Id.resultSymbol); ResultSymbol.SetTypeface(FontManager.Instance.GetFont(PrivateControlStylingConfig.Icon_Font_Secondary), TypefaceStyle.Normal); ResultSymbol.SetTextSize(ComplexUnitType.Dip, PrivatePrayerConfig.PostPrayer_ResultSymbolSize_Droid); ResultSymbol.SetTextColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.TextField_ActiveTextColor)); ResultSymbol.Text = PrivateControlStylingConfig.Result_Symbol_Failed; ResultText = ResultLayer.FindViewById <TextView>(Resource.Id.text); ControlStyling.StyleUILabel(ResultText, ControlStylingConfig.Font_Regular, ControlStylingConfig.Large_FontSize); RetryButton = view.FindViewById <Button>(Resource.Id.retryButton); ControlStyling.StyleButton(RetryButton, GeneralStrings.Retry, ControlStylingConfig.Font_Regular, ControlStylingConfig.Large_FontSize); RetryButton.Click += (object sender, EventArgs e) => { if (IsRequesting == false) { DownloadPrayers( ); } }; return(view); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { // Currently in a layout without a container, so no reason to create our view. return(null); } View view = inflater.Inflate(Resource.Layout.Prayer_Create, container, false); view.SetOnTouchListener(this); view.SetBackgroundColor(Rock.Mobile.UI.Util.GetUIColor(ControlStylingConfig.BackgroundColor)); // setup the first name background FirstNameBGLayer = view.FindViewById <RelativeLayout>(Resource.Id.first_name_background); ControlStyling.StyleBGLayer(FirstNameBGLayer); // LastNameBGLayer = view.FindViewById <RelativeLayout>(Resource.Id.last_name_background); ControlStyling.StyleBGLayer(LastNameBGLayer); EmailBGLayer = view.FindViewById <RelativeLayout>(Resource.Id.email_background); ControlStyling.StyleBGLayer(EmailBGLayer); // setup the prayer request background RequestBGLayer = view.FindViewById <RelativeLayout>(Resource.Id.prayerRequest_background); ControlStyling.StyleBGLayer(RequestBGLayer); // // setup the switch background RelativeLayout backgroundLayout = view.FindViewById <RelativeLayout>(Resource.Id.switch_background); ControlStyling.StyleBGLayer(backgroundLayout); // setup the category background backgroundLayout = view.FindViewById <RelativeLayout>(Resource.Id.spinner_background); ControlStyling.StyleBGLayer(backgroundLayout); // setup the text views FirstNameText = (EditText)view.FindViewById <EditText>(Resource.Id.prayer_create_firstNameText); ControlStyling.StyleTextField(FirstNameText, PrayerStrings.CreatePrayer_FirstNamePlaceholderText, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); FirstNameBGColor = ControlStylingConfig.BG_Layer_Color; FirstNameText.InputType |= Android.Text.InputTypes.TextFlagCapWords; LastNameText = (EditText)view.FindViewById <EditText>(Resource.Id.prayer_create_lastNameText); ControlStyling.StyleTextField(LastNameText, PrayerStrings.CreatePrayer_LastNamePlaceholderText, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); LastNameBGColor = ControlStylingConfig.BG_Layer_Color; LastNameText.InputType |= Android.Text.InputTypes.TextFlagCapWords; EmailText = (EditText)view.FindViewById <EditText>(Resource.Id.prayer_create_emailText); ControlStyling.StyleTextField(EmailText, PrayerStrings.CreatePrayer_EmailPlaceholderText, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); EmailBGColor = ControlStylingConfig.BG_Layer_Color; EmailText.InputType |= Android.Text.InputTypes.TextFlagCapWords; RequestText = (EditText)view.FindViewById <EditText>(Resource.Id.prayer_create_requestText); ControlStyling.StyleTextField(RequestText, PrayerStrings.CreatePrayer_PrayerRequest, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); RequestBGColor = ControlStylingConfig.BG_Layer_Color; RequestText.InputType |= Android.Text.InputTypes.TextFlagCapSentences; /*AnonymousSwitch = (Switch)view.FindViewById<Switch>( Resource.Id.postAnonymousSwitch ); * AnonymousSwitch.Checked = false; * AnonymousSwitch.CheckedChange += (object sender, CompoundButton.CheckedChangeEventArgs e ) => * { * if( AnonymousSwitch.Checked == false ) * { * FirstNameText.Enabled = true; * LastNameText.Enabled = true; * * FirstNameText.Text = string.Empty; * LastNameText.Text = string.Empty; * } * else * { * FirstNameText.Enabled = false; * LastNameText.Enabled = false; * * FirstNameText.Text = PrayerStrings.CreatePrayer_Anonymous; * LastNameText.Text = PrayerStrings.CreatePrayer_Anonymous; * } * * // set the colors back to neutral * Rock.Mobile.PlatformSpecific.Android.UI.Util.AnimateViewColor( FirstNameBGColor, ControlStylingConfig.BG_Layer_Color, FirstNameBGLayer, delegate { FirstNameBGColor = ControlStylingConfig.BG_Layer_Color; } ); * Rock.Mobile.PlatformSpecific.Android.UI.Util.AnimateViewColor( LastNameBGColor, ControlStylingConfig.BG_Layer_Color, LastNameBGLayer, delegate { LastNameBGColor = ControlStylingConfig.BG_Layer_Color; } ); * };*/ PublicSwitch = (Switch)view.FindViewById <Switch>(Resource.Id.makePublicSwitch); PublicSwitch.Checked = false; //TextView postAnonymousLabel = view.FindViewById<TextView>( Resource.Id.postAnonymous ); //ControlStyling.StyleUILabel( postAnonymousLabel, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize ); TextView publicLabel = view.FindViewById <TextView>(Resource.Id.makePublic); ControlStyling.StyleUILabel(publicLabel, ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize); // setup our category spinner Spinner = (Spinner)view.FindViewById <Spinner>(Resource.Id.categorySpinner); ArrayAdapter adapter = new SpinnerArrayAdapter(Rock.Mobile.PlatformSpecific.Android.Core.Context, Android.Resource.Layout.SimpleListItem1); adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); Spinner.Adapter = adapter; // populate the category foreach (KeyValuePair <string, int> category in MobileApp.Shared.Network.RockLaunchData.Instance.Data.PrayerCategories) { adapter.Add(category.Key); } Button submitButton = (Button)view.FindViewById <Button>(Resource.Id.prayer_create_submitButton); ControlStyling.StyleButton(submitButton, PrayerStrings.CreatePrayer_SubmitButtonText, ControlStylingConfig.Font_Regular, ControlStylingConfig.Small_FontSize); submitButton.Click += (object sender, EventArgs e) => { SubmitPrayerRequest( ); }; return(view); }