【问题标题】:Xamarin Forms ContextAction MenuItem text colorXamarin Forms ContextAction MenuItem 文本颜色
【发布时间】:2017-04-28 00:18:24
【问题描述】:

我按照这些说明创建了一个带有上下文操作的 ListView-developer.xamarin.com/guides/xamarin-forms/user-interface/listview/interactivity/#Context_Actions

这是 XAML

<ListView x:Name="ContextDemoList" ItemsSource="{Binding Notes}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <ViewCell.ContextActions>
                    <MenuItem Clicked="OnMore" CommandParameter="{Binding .}" Text="More" />
                    <MenuItem Clicked="OnDelete" CommandParameter="{Binding .}" Text="Delete" IsDestructive="True" />
                </ViewCell.ContextActions>
                <StackLayout Padding="15,5">
                    <Label Text="{Binding Subject}" />
                </StackLayout>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

这给了我很好的上下文操作,但在 iOS 中,按钮显示为绿色文本。 iOS simulator screen cap。当我部署到物理设备时会看到相同的结果。

我看到了这篇 https://forums.xamarin.com/discussion/34713/how-to-change-the-menuitem-colors-of-viewlist-in-ios-viewcellrenderer 的帖子,其中概述了自定义 MenuItem 背景颜色的可能解决方案,包括自定义渲染、反射或不利用本机元素的插件。但我更愿意获得跨平台的原生体验。

有谁知道绿色文字颜色来自哪里?或者如果 Xamarin 公开了一种自定义方法?

【问题讨论】:

    标签: xamarin xamarin.ios xamarin.forms


    【解决方案1】:

    原来这部分是复制粘贴问题,部分是 iOS 预期功能。

    设置 UIButton 标题颜色也会设置 UIMenuItem 文本颜色。

    namespace Project.iOS
    {
        [Register("AppDelegate")]
        public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
        {
            public override bool FinishedLaunching(UIApplication app, NSDictionary options)
            {
                ...
                // --- offending line of code ---
                UIButton.Appearance.SetTitleColor(UIColor.FromRGB(0, 127, 14), UIControlState.Normal);
                ...
            }
        }
    }
    

    有一个解决方案可以为原生 iOS 应用程序自定义两种颜色,该应用程序可能有一些有用的信息可传输到 Xamarin,Text color in UIMenuController affected by UIButton appearance setting。但我没有尝试这样做。

    【讨论】:

      猜你喜欢
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 2021-10-23
      • 2019-06-15
      • 1970-01-01
      • 2019-12-31
      相关资源
      最近更新 更多