public DefaultClusterRenderer(Context context, GoogleMap map, ClusterManager <T> clusterManager) { if (!InstanceFieldsInitialized) { InitializeInstanceFields(); InstanceFieldsInitialized = true; } mMap = map; mDensity = context.Resources.DisplayMetrics.Density; mIconGenerator = new IconGenerator(context); mIconGenerator.SetContentView(makeSquareTextView(context)); //ContentView = makeSquareTextView(context); mIconGenerator.SetTextAppearance(Resource.Styleable.ClusterIcon.TextAppearance); //TextAppearance = R.style.ClusterIcon_TextAppearance; mIconGenerator.SetBackground(makeClusterBackground()); // Background = makeClusterBackground(); mClusterManager = clusterManager; }
public StationRenderer(Context context, GoogleMap map, ClusterManager clusterManager) : base(context, map, clusterManager) { _context = context; _map = map; _clusterManager = clusterManager; _contractService = SimpleIoc.Default.GetInstance<IContractService>(); _settingsService = SimpleIoc.Default.GetInstance<ISettingsService>(); _iconGenRed = new IconGenerator(_context); _iconGenGreen = new IconGenerator(_context); _iconGenOrange = new IconGenerator(_context); _iconGenGrey = new IconGenerator(_context); _iconGenGreyLowAlpha = new IconGenerator(_context); //// Define the size you want from dimensions file //var shapeDrawable = ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.station, null); //iconGen.SetBackground(shapeDrawable); ////// Create a view container to set the size _iconGenRed.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationRed, null)); _iconGenOrange.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationOrange, null)); _iconGenGreen.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationGreen, null)); _iconGenGrey.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationGrey, null)); _iconGenGreyLowAlpha.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationGreyAlpha, null)); _iconRed = _iconGenRed.MakeIcon(); _iconGreen = _iconGenGreen.MakeIcon(); _iconOrange = _iconGenOrange.MakeIcon(); _iconGrey = _iconGenGrey.MakeIcon(); _iconGreyLowAlpha = _iconGenGreyLowAlpha.MakeIcon(); var textView = new TextView(context); textView.SetTextAppearance(_context, Resource.Style.iconGenText); _textPaint.AntiAlias = true; _textPaint.SetARGB(255, 0, 0, 0); _textPaint.TextSize = textView.TextSize; _textPaint.TextAlign = Paint.Align.Center; //_textPaint.SetTypeface(textView.Typeface); _textPaint.SetTypeface(Typeface.CreateFromAsset(_context.Assets, "fonts/Roboto-Bold.ttf")); }
public StationRenderer(Context context, GoogleMap map, ClusterManager clusterManager) : base(context, map, clusterManager) { _context = context; _map = map; _clusterManager = clusterManager; _contractService = SimpleIoc.Default.GetInstance <IContractService>(); _settingsService = SimpleIoc.Default.GetInstance <ISettingsService>(); _iconGenRed = new IconGenerator(_context); _iconGenGreen = new IconGenerator(_context); _iconGenOrange = new IconGenerator(_context); _iconGenGrey = new IconGenerator(_context); _iconGenGreyLowAlpha = new IconGenerator(_context); //// Define the size you want from dimensions file //var shapeDrawable = ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.station, null); //iconGen.SetBackground(shapeDrawable); ////// Create a view container to set the size _iconGenRed.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationRed, null)); _iconGenOrange.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationOrange, null)); _iconGenGreen.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationGreen, null)); _iconGenGrey.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationGrey, null)); _iconGenGreyLowAlpha.SetBackground(ResourcesCompat.GetDrawable(_context.Resources, Resource.Drawable.stationGreyAlpha, null)); _iconRed = _iconGenRed.MakeIcon(); _iconGreen = _iconGenGreen.MakeIcon(); _iconOrange = _iconGenOrange.MakeIcon(); _iconGrey = _iconGenGrey.MakeIcon(); _iconGreyLowAlpha = _iconGenGreyLowAlpha.MakeIcon(); var textView = new TextView(context); textView.SetTextAppearance(_context, Resource.Style.iconGenText); _textPaint.AntiAlias = true; _textPaint.SetARGB(255, 0, 0, 0); _textPaint.TextSize = textView.TextSize; _textPaint.TextAlign = Paint.Align.Center; //_textPaint.SetTypeface(textView.Typeface); _textPaint.SetTypeface(Typeface.CreateFromAsset(_context.Assets, "fonts/Roboto-Bold.ttf")); }
//private string _parameterText; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); _locator = CrossGeolocator.Current; // New in iOS 9 allowsBackgroundLocationUpdates must be set if you are running a background agent to track location. I have exposed this on the Geolocator via: // disable because it drill down the battery very quickly _locator.AllowsBackgroundUpdates = false; _locator.DesiredAccuracy = 50; _locator.PositionChanged -= Locator_PositionChanged; _locator.PositionChanged += Locator_PositionChanged; // parse params to show any shared location if it exists ParseIntent(); var tintManager = new SystemBarTintManager(this); // set the transparent color of the status bar, 30% darker tintManager.SetTintColor(Color.ParseColor("#30000000")); tintManager.SetNavigationBarTintEnabled(true); tintManager.StatusBarTintEnabled = true; // prevent the soft keyboard from pushing the view up Window.SetSoftInputMode(SoftInput.AdjustNothing); // prepare icons for location / compass button var iconGenerator = new IconGenerator(this); iconGenerator.SetBackground(ResourcesCompat.GetDrawable(Resources, Resource.Drawable.ic_location, null)); _iconUserLocation = iconGenerator.MakeIcon(); iconGenerator.SetBackground(ResourcesCompat.GetDrawable(Resources, Resource.Drawable.ic_compass, null)); _iconCompass = iconGenerator.MakeIcon(); //var uiOptions = (int)this.Window.DecorView.SystemUiVisibility; //var newUiOptions = (int)uiOptions; //newUiOptions &= ~(int)SystemUiFlags.LowProfile; //newUiOptions &= ~(int)SystemUiFlags.Fullscreen; //newUiOptions &= ~(int)SystemUiFlags.HideNavigation; //newUiOptions &= ~(int)SystemUiFlags.Immersive; //newUiOptions |= (int)SystemUiFlags.ImmersiveSticky; //this.Window.DecorView.SystemUiVisibility = (StatusBarVisibility)newUiOptions; //Window.SetFlags(WindowManagerFlags.LayoutNoLimits, WindowManagerFlags.LayoutNoLimits); var toolbar = FindViewById<Toolbar>(Resource.Id.toolbar); //toolbar.Background.SetAlpha(200); ViewCompat.SetElevation(toolbar, 6f); SetSupportActionBar(toolbar); //Enable support action bar to display hamburger and back arrow // http://stackoverflow.com/questions/28071763/toolbar-navigation-hamburger-icon-missing _drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout); //_drawerToggle = new CustomActionBarDrawerToggle(this, _drawerLayout, toolbar, Resource.String.ApplicationName, Resource.String.ApplicationName); //_drawerToggle.DrawerIndicatorEnabled = true; _drawerLayout.SetDrawerListener(new CustomDrawerToggle(this)); //Enable support action bar to display hamburger var burgerImage = FindViewById<ImageButton>(Resource.Id.burgerImage); burgerImage.SetOnClickListener(new HomeButtonClickListener(this)); // SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu); SupportActionBar.SetHomeButtonEnabled(false); SupportActionBar.SetDisplayHomeAsUpEnabled(false); SupportActionBar.SetDisplayShowCustomEnabled(false); navigationView = FindViewById<NavigationView>(Resource.Id.nav_view); navigationView.SetNavigationItemSelectedListener(new NavigationItemSelectedListener(this)); _bikesButton = FindViewById<FloatingActionButton>(Resource.Id.bikesButton); _bikesButton.BackgroundTintList = ColorStateList.ValueOf(Resources.GetColor(Resource.Color.primary_light)); _bikesButton.Click += BikesButton_Click; _parkingButton = FindViewById<FloatingActionButton>(Resource.Id.parkingButton); _parkingButton.BackgroundTintList = ColorStateList.ValueOf(Resources.GetColor(Resource.Color.primary_light)); _parkingButton.Click += ParkingButton_Click; _locationButton = FindViewById<FloatingActionButton>(Resource.Id.locationButton); _locationButton.BackgroundTintList = ColorStateList.ValueOf(Color.White); _locationButton.SetColorFilter(Color.Gray); _searchProgressBar = FindViewById<ProgressBar>(Resource.Id.searchProgressBar); // Doesn't work on Kitkat 4.4, use SetColorFilter instead //_locationButton.ImageTintList = ColorStateList.ValueOf(Color.Black); _locationButton.Click += LocationButton_Click; _tileButton = FindViewById<FloatingActionButton>(Resource.Id.tileButton); _tileButton.BackgroundTintList = ColorStateList.ValueOf(Color.White); _tileButton.SetColorFilter(Color.DarkGray); _tileButton.Click += TileButton_Click; var parent = (View)_tileButton.Parent; // Gets the parent view and posts a Runnable on the UI thread. // This ensures that the parent lays out its children before calling the getHitRect() method. // The getHitRect() method gets the child's hit rectangle (touchable area) in the parent's coordinates. parent.Post(() => { var touchRect = new Rect(); _tileButton.GetHitRect(touchRect); touchRect.Top -= 200; touchRect.Left -= 200; touchRect.Bottom += 200; touchRect.Right += 200; parent.TouchDelegate = new TouchDelegate(touchRect, _tileButton); }); _currentTileName = FindViewById<TextView>(Resource.Id.currentTileName); _currentTileNameAnimation = AnimationUtils.LoadAnimation(this, Resource.Animation.placeholder); _disappearTileNameAnimation = AnimationUtils.LoadAnimation(this, Resource.Animation.disappearAnimation); _currentTileNameAnimation.AnimationEnd += _currentTileNameAnimation_AnimationEnd; UnStickUserLocation(); AutoCompleteSearchPlaceTextView = FindViewById<AutoCompleteTextView>(Resource.Id.autoCompleteSearchPlaceTextView); AutoCompleteSearchPlaceTextView.ItemClick += AutoCompleteSearchPlaceTextView_ItemClick; googlePlacesAutocompleteAdapter = new GooglePlacesAutocompleteAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line); AutoCompleteSearchPlaceTextView.Adapter = googlePlacesAutocompleteAdapter; Observable.FromEventPattern(AutoCompleteSearchPlaceTextView, "TextChanged") .Throttle(TimeSpan.FromMilliseconds(300)) .Where(x => AutoCompleteSearchPlaceTextView.Text.Length >= 2) .Subscribe(async x => { try { RunOnUiThread(() => { _searchProgressBar.Visibility = ViewStates.Visible; }); using (var client = new HttpClient(new NativeMessageHandler())) { var response = await client.GetAsync(strAutoCompleteGoogleApi + AutoCompleteSearchPlaceTextView.Text + "&key=" + strGoogleApiKey).ConfigureAwait(false); var responseBodyAsText = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var predictions = JsonConvert.DeserializeObject<PlaceApiModel>(responseBodyAsText).predictions.ToList(); googlePlacesAutocompleteAdapter.Results = predictions; if (AutoCompleteSearchPlaceTextView.Text.Length >= 2) { RunOnUiThread(() => { googlePlacesAutocompleteAdapter.NotifyDataSetChanged(); EndPlacesSearch(); }); } } } catch { RunOnUiThread(() => { EndPlacesSearch(); }); } }); //navigationView.NavigationItemSelected += (sender, e) => //{ // e.MenuItem.SetChecked(true); // //react to click here and swap fragments or navigate // drawerLayout.CloseDrawers(); //}; // trigger the creation of the injected dependencies _settingsService = SimpleIoc.Default.GetInstance<ISettingsService>(); _favoritesService = SimpleIoc.Default.GetInstance<IFavoritesService>(); }