Xamarin.Forms - кроссплатформенные изображения друг над другом

У меня простой вопрос с (на мой взгляд) слишком сложным решением. Я бы хотел иметь «основное» изображение и какое-то другое «маленькое» изображение поверх него в правом верхнем углу. Что-то вроде кнопок на домашнем экране iOS с уведомлениями:

Кнопки главного экрана iOS с уведомлениями

Кто-нибудь знает, как сделать что-то подобное с помощью Xamarin.Forms?


person bkardol    schedule 09.07.2014    source источник


Ответы (2)


Я предполагаю, что это можно сделать с помощью AbsoluteLayout: http://iosapi.xamarin.com/index.aspx?link=T%3AXamarin.Forms.AbsoluteLayout.

Вы можете получить его образец здесь: https://github.com/xamarin/xamarin-forms-samples/blob/master/FormsGallery/FormsGallery/FormsGallery/AbsoluteLayoutDemoPage.cs

person NovaJoe    schedule 09.07.2014

Я решил использовать сетку, в которой каждая ячейка имеет RelativeLayout. У каждого квадрата есть два дочерних элемента: кнопка и изображение. Изображение маленькое и переместится в правый верхний угол из-за ограничения RelativeToParent:

RelativeLayout relativeLayout = new RelativeLayout();
relativeLayout.Children.Add(button,
                       Constraint.Constant(0), 
                       Constraint.Constant(0));
relativeLayout.Children.Add(image, 
                       Constraint.RelativeToParent((parent) =>
                       {
                           return parent.Width - 40;
                       }), 
                       Constraint.Constant(0));
person bkardol    schedule 15.07.2014