Я смущен о возможностях кода Builder MvvmCross Dialog.MvvmCross Android Dialog - поведение вложенных RootElements
У меня есть SettingsView, который наследуется от BaseSettingsView.
В следующем коде на iOS показан диалог с одним разделом. Когда этот раздел щелкнули, это создает еще одну панель, которая имеет сечение в RootElement:
Root = new RootElement("Settings")
{
new Section()
{
(Element) new RootElement("Location Settings")
{
new Section("Details")
{
new EntryElement("Name", "Location Name"),
},
},
}
};
Однако на Android, с SettingsView, который имеет точно такой же код, когда секция щелкнули, никакой другой панель или вид. Мне интересно, возможно ли иметь такое «вложенное представление» на Android, или я должен создать обработчик кликов для этой записи, который покажет совершенно новый диалог при навигации к другому ViewModel.
Интересно, что следующий код создаст элемент, который при нажатии будет создавать совершенно новое диалоговое окно, в котором есть запись в вложенном RootElement внутри него. Однако, насколько мне кажется, это работает только для RadioGroups?
Root = new RootElement("Settings")
{
new Section()
{
(Element) new RootElement("Status", new RadioGroup(0))
{
new Section("Status")
{
new RadioElement("On"),
new RadioElement("Off"),
},
},
},
Я посмотрел на примере MVX Dialog и осматривал N + 1, но не могу найти какие-либо указаний о том, возможен ли или желательно таком роде автоматической навигации к вложенным RootElements с MvvmCross на Android.
Спасибо,
Мэтью
Спасибо Стюарт. Подводя итог, как я понимаю: всплывающее окно встроено только для RadioGroup на Droid. Вложенные RootElements в iOS предоставляют автоматическую навигацию на другой экран с элементами под этим RootElement. Поэтому, чтобы поддерживать подэлементы настроек при нажатии на элемент, мне лучше отключить вызов ShowViewModel <> или иначе создать новый диалог для желаемого подменю. – MisterMat
Нет ничего встроенного, что, вероятно, было связано с тем, что Dialog был построен поверх операций, которые работают с другой моделью памяти/жизненного цикла для UIViewControllers. Но я подозреваю, что вы могли бы построить что-то довольно быстро (день?), Если бы захотели, особенно если вы посмотрели фрагменты или на какую-то часть работы linearlayout, которую недавно сделали другие. Не пытаясь избежать вопроса - что вам лучше всего делать, действительно зависит от того, что нужно приложениям и сколько времени у вас есть. – Stuart
Возможно ли размещать код компоновщика элементов внутри фрагмента вместо диалога? В идеале (и это помогло бы облегчить анимацию), я хотел бы иметь разные страницы настроек как фрагменты внутри диалога или действия.В противном случае я, когда я открою подстраницу настроек, думаю, мне нужно было бы загрузить новое диалоговое окно для каждой страницы - что можно сделать, но не так аккуратно – MisterMat