public override EvasObject?GetHeaderView(EvasObject parent) { if (!HasHeader) { return(null); } _headerCache = ((IShellController)Shell).FlyoutHeader; return((_headerCache != null) ? GetPlatformView(_headerCache) : null); }
public View?OnCreateView(View?parent, string name, Context context, IAttributeSet attrs) { if (Debug) { MvxLog.Instance?.Trace("{Tag} - ... OnCreateView ... {name}", DelegateFactory1Tag, name); } return(_factoryPlaceholder.OnViewCreated( _factory.OnCreateView(name, context, attrs), context, attrs)); }
public View?OnViewCreated(View?view, Context?context, IAttributeSet?attrs) { if (Factory != null && view != null && view.GetTag(Resource.Id.MvvmCrossTagId) != TheTruth) { // Bind here. view = Factory.BindCreatedView(view, context, attrs); view.SetTag(Resource.Id.MvvmCrossTagId, TheTruth); } return(view); }
public override View?OnCreateView(Context viewContext, View?parent, string name, IAttributeSet?attrs) { if (Debug) { MvxLog.Instance?.Trace("{Tag} - ... OnCreateView 4 ... {name}", Tag, name); } return(_bindingVisitor.OnViewCreated( base.OnCreateView(viewContext, parent, name, attrs), viewContext, attrs)); }
public virtual View?OnCreateView(View?parent, string name, Context context, IAttributeSet attrs) { if (name == "fragment") { // MvvmCross does not inflate Fragments - instead it returns null and lets Android inflate them. return(null); } View?view = AndroidViewFactory?.CreateView(parent, name, context, attrs); return(BindCreatedView(view, context, attrs)); }
protected override View?OnCreateView(View?parent, string?name, IAttributeSet?attrs) { if (Debug) { MvxLog.Instance?.Trace("{Tag} - ... OnCreateView 3 ... {name}", Tag, name); } return(_bindingVisitor.OnViewCreated( base.OnCreateView(parent, name, attrs), Context, attrs)); }
public override View GetView(int position, View?convertView, ViewGroup?parent) { var popupFieldValue = _displayFields[position]; if (convertView == null) { convertView = new DetailsItemView(_context, _foregroundColor); } (convertView as DetailsItemView)?.Update(popupFieldValue); return(convertView); }
public override View?OnCreateView(Context viewContext, View?parent, string name, IAttributeSet?attrs) { if (Debug) { MvxLogHost.GetLog <MvxLayoutInflater>()?.Log(LogLevel.Trace, "{Tag} - ... OnCreateView 4 ... {name}", Tag, name); } return(_bindingVisitor.OnViewCreated( base.OnCreateView(viewContext, parent, name, attrs), viewContext, attrs)); }
public override View?GetView(int position, View?convertView, ViewGroup?parent) { var layerLegend = _layerLegends[position]; if (convertView == null) { convertView = new LayerLegendItemView(_context); } (convertView as LayerLegendItemView)?.Update(layerLegend); return(convertView); }
/// <summary> /// <inheritdoc /> /// </summary> protected override void OnApplyTemplate() { base.OnApplyTemplate(); ListView = GetTemplateChild("PART_InnerListView") as CollectionView; VisualStateManager.SetVisualStateGroups(ListView, new VisualStateGroupList()); _loadingScrim = GetTemplateChild("PART_LoadingScrim") as View; if (ListView != null) { ListView.BindingContext = _controller; } }
public override View GetView(int position, View?convertView, ViewGroup?parent) { var view = convertView ?? _context.LayoutInflater.Inflate(Android.Resource.Layout.SimpleListItem2, parent, false); var textview1 = view.FindViewById <TextView>(Android.Resource.Id.Text1); var textview2 = view.FindViewById <TextView>(Android.Resource.Id.Text2); textview1.Text = _elements.ElementAtOrDefault(position)?.Title; textview2.Text = $"Created at {_elements.ElementAtOrDefault(position).CreatedAt:dd/MM/yyyy}"; return(view); }
public override EvasObject?CreateNativeView(int index, EvasObject parent) { View?view = GetTemplatedView(index); if (view != null) { var native = view.ToPlatform(_context); _nativeFormsTable[native] = view; return(native); } return(null); }
public static NavController?GetNavController(this Fragment fragment, View?view = null) { NavController?navController = null; if (fragment.Activity is IHostNavController host) { navController = host.NavController; } if (navController == null && view != null) { navController = Navigation.FindNavController(view); } return(navController); }
public void LayoutItems(Rect bound, bool force) { if (_allocatedSize.Width <= 0 || _allocatedSize.Height <= 0) { return; } // TODO : need to optimization. it was frequently called with similar bound value. if (!ShouldRearrange(bound) && !force) { return; } _isLayouting = true; _lastLayoutedBound = bound; int padding = Span; int startIndex = Math.Max(GetStartIndex(bound) - padding * 2, 0); int endIndex = Math.Min(GetEndIndex(bound) + padding * 2, CollectionView !.Count - 1); foreach (var index in _realizedItem.Keys.ToList()) { if (index < startIndex || index > endIndex) { CollectionView !.UnrealizeView(_realizedItem[index].View); _realizedItem.Remove(index); } } for (int i = startIndex; i <= endIndex; i++) { View?itemView = null; if (!_realizedItem.ContainsKey(i)) { var view = CollectionView !.RealizeView(i); _realizedItem[i] = new RealizedItem(view, i); itemView = view; } else { itemView = _realizedItem[i].View; } var itemBound = GetItemBound(i); itemView.UpdateBounds(itemBound); } _isLayouting = false; }
public View?OnCreateView(View?parent, string name, Context context, IAttributeSet attrs) { if (Debug) { MvxLogHost.GetLog <MvxLayoutInflater>()?.Log(LogLevel.Trace, "{Tag} - ... OnCreateView 3 ... {name}", PrivateFactoryWrapper2Tag, name); } return(_bindingVisitor.OnViewCreated( _inflater.CreateCustomViewInternal( parent, // The activity's OnCreateView _factory2.OnCreateView(parent, name, context, attrs), name, context, attrs), context, attrs)); }
#pragma warning disable CS8765 // Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes). public override View?GetGroupView(int groupPosition, bool isExpanded, View?convertView, ViewGroup parent) { var header = convertView switch { null => _context.LayoutInflater.Inflate(Resource.Layout.ListGroup, null), _ => convertView }; if (header?.FindViewById <TextView>(Resource.Id.DataHeader) is TextView textView) { textView.Text = LocationList[groupPosition].Name; } return(header); }
protected override View CreatePlatformView() { var li = MauiContext?.GetLayoutInflater(); _ = li ?? throw new InvalidOperationException($"LayoutInflater cannot be null"); var dl = li.Inflate(Resource.Layout.drawer_layout, null) .JavaCast <DrawerLayout>() ?? throw new InvalidOperationException($"Resource.Layout.drawer_layout missing"); _navigationRoot = li.Inflate(Resource.Layout.navigationlayout, null) ?? throw new InvalidOperationException($"Resource.Layout.navigationlayout missing"); _navigationRoot.Id = View.GenerateViewId(); return(dl); }
void OnNativeViewViewDetachedFromWindow(object?sender, View.ViewDetachedFromWindowEventArgs e) { if (lifeCycleEffect != null) { lifeCycleEffect.RaiseUnloadedEvent(Element); } if (nativeView != null) { nativeView.ViewDetachedFromWindow -= OnNativeViewViewDetachedFromWindow; nativeView.ViewAttachedToWindow -= OnNativeViewViewAttachedToWindow; } nativeView = null; lifeCycleEffect = null; }
void View.IOnClickListener.OnClick(View?view) { if (view == null) { return; } var vm = ViewModel; if (vm == null) { return; } if (view.Id == Resource.Id.tvValue) { vm.CopyCodeCilp(); } }
public override EvasObject?GetHeaderView(EvasObject parent) { if (!HasHeader) { return(null); } _headerCache = ((IShellController)Shell).FlyoutHeader; if (_headerCache != null) { var native = _headerCache.ToPlatform(_context); return(native); } return(null); }
public async Task OnRenameView(string viewID, string newName) { lastActivity = Timestamp.Now; View?view = model.Views.Find(v => v.ID == viewID); if (view == null) { throw new Exception("Unknown viewID " + viewID); } view.Name = newName; DataValue dv = DataValue.FromObject(view.Name); MemberValue member = MemberValue.Make(moduleID, view.ID, nameof(View.Name), dv); await connection.UpdateConfig(member); }
private static void UpdateChildren(Layout <View> layout) { var items = GetItemsSource(layout); var template = GetItemTemplate(layout); if (items == null || template == null) { return; } var separatorTemplate = GetSeparatorTemplate(layout); var hasSeparators = separatorTemplate != null; try { layout.Children.Clear(); } catch (NullReferenceException) { } View?separator = null; foreach (var item in items) { var child = (View)template.CreateContent(item, layout); child.BindingContext = item; layout.Children.Add(child); if (hasSeparators && separatorTemplate != null) { separator = (View)separatorTemplate.CreateContent(); layout.Children.Add(separator); } } if (hasSeparators && separator != null) { layout.Children.Remove(separator); } if (items is INotifyCollectionChanged collection) { SetCollectionChangedListener(layout, new CollectionChangedListener(layout, collection)); } }
public override bool DispatchTouchEvent(MotionEvent e) { if (e.Action == MotionEventActions.Down) { _downTime = DateTime.UtcNow; _downPosition = new Point(e.RawX, e.RawY); } if (e.Action != MotionEventActions.Up) { return(base.DispatchTouchEvent(e)); } if (_disposed) { return(false); } View?currentFocus1 = ((Activity?)Context)?.CurrentFocus; if (currentFocus1 is EditText) { View?currentFocus2 = ((Activity?)Context)?.CurrentFocus; if (currentFocus1 == currentFocus2 && _downPosition.Distance(new Point(e.RawX, e.RawY)) <= Context.ToPixels(20.0) && !(DateTime.UtcNow - _downTime > TimeSpan.FromMilliseconds(200.0))) { var location = new int[2]; currentFocus1.GetLocationOnScreen(location); var num1 = e.RawX + currentFocus1.Left - location[0]; var num2 = e.RawY + currentFocus1.Top - location[1]; if (!new Rectangle(currentFocus1.Left, currentFocus1.Top, currentFocus1.Width, currentFocus1.Height).Contains(num1, num2)) { Context.HideKeyboard(currentFocus1); currentFocus1.ClearFocus(); } } } if (_disposed) { return(false); } var flag = base.DispatchTouchEvent(e); return(flag); }
public override View GetView(int position, View?convertView, ViewGroup?parent) { var layerLegend = _layers[position]; if (convertView == null) { convertView = new LegendItemView(_context); } var tv = convertView as LegendItemView; if (tv != null) { tv.Update(layerLegend); } return(convertView); }
protected override View?OnCreateView(string?name, IAttributeSet?attrs) { if (Debug) { MvxLogHost.GetLog <MvxLayoutInflater>()?.Log(LogLevel.Trace, "{Tag} - ... OnCreateView 2 ... {name}", Tag, name); } View?view = null; if (name != null && Context != null && attrs != null) { view = AndroidViewFactory?.CreateView(null, name, Context, attrs); } view ??= PhoneLayoutInflaterOnCreateView(name, attrs) ?? base.OnCreateView(name, attrs); return(_bindingVisitor.OnViewCreated(view, Context, attrs)); }
public static T?FindFirstParentOfView <T>(this View?childView, bool includeCurrent) where T : class { var view = includeCurrent ? childView as IViewParent : null; view ??= childView?.Parent; while (view != null) { if (view is T parent) { return(parent); } view = view.Parent; } return(null); }
public void SetHeader(View?header, Size size) { bool contentSizeChanged = false; if (IsHorizontal) { if (_headerSize.Width != size.Width) { contentSizeChanged = true; } } else { if (_headerSize.Height != size.Height) { contentSizeChanged = true; } } _header = header; _headerSize = size; if (contentSizeChanged) { InitializeMeasureCache(); CollectionView !.ContentSizeUpdated(); } if (_header != null) { var bound = new Rect(0, 0, _headerSize.Width, _headerSize.Height); if (IsHorizontal) { bound.Height = _allocatedSize.Height; } else { bound.Width = _allocatedSize.Width; } _header.UpdateBounds(bound); } }
private static (Label label, Label value) BuildLabelView(string name, View?relativeTo = null, int width = 12) { var label = new Label(name) { X = 1, Y = relativeTo == null ? 0 : Pos.Bottom(relativeTo), Height = 1, Width = width }; var value = new Label("") { X = Pos.Right(label), Y = relativeTo == null ? 0 : Pos.Bottom(relativeTo), Width = Dim.Fill(), Height = 1, CanFocus = false }; return(label, value); }
public override void OnDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { int left = parent.Left; int right = parent.Right; int childCount = parent.ChildCount; CustomViewHolder?prevHolder = null; for (var i = 0; i < childCount; i++) { View?child = parent.GetChildAt(i); if (child is null) { continue; } if (!(parent.GetChildViewHolder(child) is CustomViewHolder holder)) { continue; } if (holder.RowInfo is null) { continue; } if ((prevHolder is IHeaderViewHolder && !_SettingsView.ShowSectionTopBottomBorder) || (holder is IFooterViewHolder && !_SettingsView.ShowSectionTopBottomBorder) || (holder is IFooterViewHolder && !holder.RowInfo.Section.Any()) || (holder is IHeaderViewHolder || !holder.RowInfo.Section.IsVisible)) { prevHolder = holder; continue; } int bottom = child.Top; int top = bottom - _Drawable.IntrinsicHeight; _Drawable.SetBounds(left, top, right, bottom); _Drawable.Draw(c); prevHolder = holder; } }
public override Size MeasureItem(int index, int widthConstraint, int heightConstraint) { if (widthConstraint > heightConstraint) { widthConstraint = int.MaxValue; } if (heightConstraint > widthConstraint) { heightConstraint = int.MaxValue; } var item = this[index]; if (item != null && _dataBindedViewTable.TryGetValue(item, out View? createdView) && createdView != null) { return(createdView.Measure(DPExtensions.ConvertToScaledDP(widthConstraint), DPExtensions.ConvertToScaledDP(heightConstraint), MeasureFlags.IncludeMargins).Request.ToEFLPixel()); } View?view = null; if (ItemTemplate is DataTemplateSelector selector) { view = selector.SelectTemplate(this[index], Element).CreateContent() as View; } else { view = ItemTemplate.CreateContent() as View; } if (view != null) { view.Parent = Element; if (Count > index) { view.BindingContext = this[index]; } var request = view.Measure(DPExtensions.ConvertToScaledDP(widthConstraint), DPExtensions.ConvertToScaledDP(heightConstraint), MeasureFlags.IncludeMargins).Request; return(request.ToEFLPixel()); } return(new Size(0, 0)); }