【问题标题】:Xamarin Forms Tabbed Page to have overlapping Custom ViewXamarin 表单选项卡式页面具有重叠的自定义视图
【发布时间】:2018-08-10 01:40:47
【问题描述】:

我需要在 XF 选项卡式页面中拥有类似的东西:

也就是说,我需要一些面板,它会出现在整个内容(包括任何选项卡)上,我可以在其中添加一些自定义内容。 (我之所以在这里问它,因为在普通简单页面的情况下这不是问题,当我只是在页面上放置一些重叠视图时)。

在功能上它应该类似于Action Sheets,但是是跨平台的(即定义为通用 XF 视图)并包含自定义内容。

但它必须是不必要的自定义渲染器,实际上是 Action Sheet 实现(以及 AlertDialog 对应于 this)。在页面布局结构的某个地方(我不知道在哪里)放置一些视图来实现这一点是完美的。

或者Action SheetAlertDialog(带有自定义渲染器)现在仍然是XF 中最简单的方法吗?谢谢!

【问题讨论】:

    标签: xamarin.forms cross-platform uiactionsheet


    【解决方案1】:

    您可以使用ACR User Dialogs,也可以指定UseBottomSheet 选项以使操作表显示在底部。它以NuGet package 的形式提供,因此不需要任何自定义渲染器。

    Acr.UserDialogs.ActionSheetConfig  = new Acr.UserDialogs.ActionSheetConfig();
    config.UseBottomSheet = true;
    config.Title = "My Options";
    config.Add(
        "Option 1",
        () => 
        {
            Device.BeginInvokeOnMainThread(async () => {
                await DisplayAlert("", "Clicked option 1", "OK");
            });
        },
        null);
    config.Cancel = new Acr.UserDialogs.ActionSheetOption("Cancel");
    

    并显示它:

    Acr.UserDialogs.UserDialogs.Instance.ActionSheet(config);
    

    【讨论】:

    • 感谢您的回答。但是如何使用传递给该组件的一些自定义视图/布局?
    • 嗯,我认为它不支持自定义视图,除了出现在文本左侧的自定义图标。
    • 嗯,这正是我的问题所在:在该面板中有Custom View。问题标题中提到了它。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多