CustomPicker 确定和取消按钮的颜色

2023-11-29

我在android项目中有这个custompicker类:

 public class CustomPickerRenderer : PickerRenderer
    {
        private Context context;
        private IElementController ElementController => Element as IElementController;
        private AlertDialog _dialog;

        public CustomPickerRenderer(Context context) : base(context)
        {
            this.context = context;
        }

        protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
        {
            base.OnElementChanged(e);
            if (Control == null || e.NewElement == null) return;
            Control.Click += Control_Click1;
        }
        protected override void Dispose(bool disposing)
        {
            Control.Click -= Control_Click1;
            base.Dispose(disposing);
        }

        private void Control_Click1(object sender, EventArgs e)
        {
            Picker model = Element;

            var picker = new NumberPicker(Context);
            if (model.Items != null && model.Items.Any())
            {
                picker.MaxValue = model.Items.Count - 1;
                picker.MinValue = 0;
                picker.SetDisplayedValues(model.Items.ToArray());
                picker.WrapSelectorWheel = false;
                picker.DescendantFocusability = DescendantFocusability.BlockDescendants;
                picker.Value = model.SelectedIndex;
            }

            var layout = new LinearLayout(Context) { Orientation = Orientation.Vertical };
            layout.AddView(picker);

            ElementController.SetValueFromRenderer(VisualElement.IsFocusedProperty, true);

            var builder = new AlertDialog.Builder(Context);
            builder.SetView(layout);
            builder.SetTitle(model.Title ?? "");

            //change the text or color here
            builder.SetNegativeButton(Html.FromHtml("<font color='#039BE5'>Cancel</font>"), (s, a) =>
            {
                ElementController.SetValueFromRenderer(VisualElement.IsFocusedProperty, false);
                // It is possible for the Content of the Page to be changed when Focus is changed.
                // In this case, we'll lose our Control.
                Control?.ClearFocus();
                _dialog = null;
            });

             //change the text or color here
            builder.SetPositiveButton(Html.FromHtml("<font color='#039BE5'>OK</font>"), (s, a) =>
            {
                ElementController.SetValueFromRenderer(Picker.SelectedIndexProperty, picker.Value);
                // It is possible for the Content of the Page to be changed on SelectedIndexChanged.
                // In this case, the Element & Control will no longer exist.
                if (Element != null)
                {
                    if (model.Items.Count > 0 && Element.SelectedIndex >= 0)
                        Control.Text = model.Items[Element.SelectedIndex];
                    ElementController.SetValueFromRenderer(VisualElement.IsFocusedProperty, false);
                    // It is also possible for the Content of the Page to be changed when Focus is changed.
                    // In this case, we'll lose our Control.
                    Control?.ClearFocus();
                }
                _dialog = null;
            });

            _dialog = builder.Create();
            _dialog.DismissEvent += (ssender, args) =>
            {
                ElementController?.SetValueFromRenderer(VisualElement.IsFocusedProperty, false);
            };
            _dialog.Show();
        }
    }

我尝试在我的手机小米 POCOPHONE F1 (Android 9) 和 2 个模拟器 (Android 8.1) 上运行我的项目,取消和确定按钮的颜色设计得非常完美。但是当我尝试在华为 PLE-701L 和 SAMSUNG SM-T365 (Android 5.1) 上运行该项目时,按钮的颜色没有改变。

有什么建议么?


通过dialog的API获取按钮对象并设置按钮的文字颜色。该方法可以个性化。需要注意一点:必须在之后调用show

在您的自定义渲染器中,如下_dialog.Show();

....
_dialog.Show();
Button btnOk = _dialog.GetButton((int)DialogInterface.ButtonPositive);
btnOk .SetTextColor(Color.Red);
Button btnCancel= _dialog.GetButton((int)DialogInterface.ButtonNegative);
btnCancel.SetTextColor(Color.Red);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CustomPicker 确定和取消按钮的颜色 的相关文章

  • 在 Mathematica 中创建具有不同颜色边的图形

    我想创建一个图 图论 其中某些边具有与其他边不同的颜色 这将用于突出显示图中从一个顶点到另一个顶点的路径 以下是一些具有不同颜色边缘的示例http demonstrations wolfram com AGraphTheoryInterpr
  • 让用户在深色和浅色模式之间进行选择(保存每个页面的设置,cookies?)

    我最近刚刚开始使用 javascript 和 jQuery 所以我不是专家 目前我正在努力解决我认为可以称为 基本任务 的问题 我想在主页上添加两个按钮 用户可以使用它们将网站模式设置为深色或浅色 当用户进入网站并单击不同的链接时 应该记住
  • Datagridview 的单个单元格中的 C# 多色文本

    是否可以更改 datagridview 单元格中存在的子字符串的颜色 您需要使用细胞绘画 http msdn microsoft com en us library hta8z9sz aspx事件来自定义单元格的绘制方式
  • 作为颜色表示的值

    将值转换为颜色是众所周知的 我确实理解以下两种方法 在改变 RGB 颜色值来表示一个值 https stackoverflow com questions 1423925 changing rgb color values to repre
  • 忽略 Xamarin.Forms (PCL) 中的 SSL 证书错误

    有没有办法做类似这里描述的事情 https stackoverflow com a 2675183 https stackoverflow com a 2675183但在 Xamarin Forms PCL 应用程序中 我正在使用 Http
  • 类似于 iPhone(老虎机)的网络“选择器”选择框? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个类似 iPhone 的 选择器 控件 我可以在网络上使用它 可访问性不是问题 JavaS
  • 如何使用 OpenCV 找到红色区域? [复制]

    这个问题在这里已经有答案了 我正在尝试编写一个检测红色的程序 然而有时它比平常更暗 所以我不能只使用一个值 检测不同深浅的红色的最佳范围是多少 我目前使用的范围是 128 0 0 255 60 60 但有时它甚至检测不到我放在它前面的红色物
  • 如何在 Xamarin.Forms 中强制使用浅色模式?

    我的应用程序的 UI 设计为在灯光模式下使用 但如果手机的默认主题是深色模式 我的应用程序也会切换到深色模式 并且 UI 看起来很垃圾 所以我想强制我的应用程序使用灯光模式 我怎样才能做到这一点 In my app xaml我使用的文件Us
  • Ruby popen3 和 ANSI 颜色

    我试图让 watchr 在文件更改时自动运行测试 并获得了我需要的大部分工作 除了 RSpec 中的所有 ANSI 颜色都被忽略这一事实 违规代码如下 stdin stdout stderr Open3 popen3 cmd stdout
  • 如何在 Xamarin Forms 中对列表进行分组?

    我需要将下面的列表以 xamarin 形式与公司名称进行分组并需要在 ListView 中显示 我研究过 ObservableCollection 是可能的 但我不知道该怎么做 任何人都可以帮助实现这一目标吗 List public cla
  • 从壁纸中获取颜色? - 安卓

    如何找到当前壁纸的 平均 颜色并将该颜色设置为我的小部件上的布局 我正在尝试做的一个例子 这是 AccuWeather 上的设置 您可以使用WallpaperManager getWallpaperColors https develope
  • 应用程序被终止时无法处理 FCM 消息

    我一直在阅读各种教程 其他 SO 线程以及官方 Android 开发人员和 Firebase 文档 但无济于事 我已经尝试了几乎所有的方法 但我已经耗尽了精力和时间 因为我正在修复以前可以工作但现在不再工作的通知系统 我正在使用 Azure
  • 如何在数据加载期间 IsBusy 为 true 时至少显示一次 Lottie 动画?

    On my Xamarin Forms 项目 我想显示一个洛蒂动画 during API调用或期间加载网站 in a WebView 为此 我限制了IsVisible的财产洛蒂动画 to the IsBusy我的财产视图模型 这个效果很好
  • CSS:为表格中选定的行设置颜色

    我需要将以下功能添加到我的表中 当用户单击一行 选择它 时 该行会用颜色标记 FFCF8B 与hover 我试过 newspaper b tbody tr selected td 但它不起作用 newspaper b border coll
  • 改变 RGB 颜色的色调

    我正在尝试编写一个函数来改变 RGB 颜色的色调 具体来说 我在 iOS 应用程序中使用它 但数学是通用的 下图显示了 R G 和 B 值如何随色调变化 看起来 编写一个函数来改变色调似乎应该是一个相对简单的事情 而不需要对不同的颜色格式进
  • 使用 xamarin 表单的 android 13 上的存储权限问题

    我在 Visual Studio 2022 的帮助下为我的 Android 项目使用 xamarin forms 当我将代码运行到我的移动 Android 13 时 我没有获得 Android 13 的弹出权限 我只是将 androidta
  • 如何计算位图的平均 RGB 颜色值

    在我的 C 3 5 应用程序中 我需要获取位图的红色 绿色和蓝色通道的平均颜色值 最好不使用外部库 这可以做到吗 如果是这样 怎么办 提前致谢 尝试让事情变得更精确 位图中的每个像素都有一定的 RGB 颜色值 我想获取图像中所有像素的平均
  • 如何计算图像中的 RGB 或 HSV 通道组合?

    我使用 python opencv 加载形状为 30 100 3 的图像 现在想要按颜色计算所有颜色的频率 我不是指单个通道 而是指通道组合 含义 3 个频道列表 例如 255 0 0 表示红色 255 255 0 表示黄色 100 100
  • 如何修复此 YCrCb -> RBG 转换公式?

    我使用的公式来自这个问题 https stackoverflow com questions 8838481 kcvpixelformattype 420ypcbcr8biplanarfullrange frame to uiimage c
  • 使用自定义渲染器,我可以使 TableSection.Title 以小型混合大小写形式显示吗?

    这是我目前拥有的

随机推荐

  • 如何使用正则表达式和Powershell提取字符串“Task(12345)”中的数字?

    如何使用正则表达式和Powershell提取字符串 Task 12345 中的数字 我尝试了以下方法 但没有机会 file gc myfile txt matches regex Task d 1 5 matches file Get a
  • Android 谷歌驱动器文件更改侦听器不起作用

    我已将更改侦听器注册到谷歌驱动器文件 如下所示 DriveFile driveFile Drive DriveApi getFile mGoogleApiClient mSelectedFileId driveFile addChangeL
  • 将秒转换为 HH:MM:SS [重复]

    这个问题在这里已经有答案了 我在网上找到了一个将秒转换为HH MM SS的函数 函数是这样的 function sec2hms sec padHours false hms hours intval intval sec 3600 hms
  • Codeigniter:标头已发送错误[重复]

    这个问题在这里已经有答案了 我有一个 CI 应用程序 它具有身份验证控制器和切换用户功能 基本上它所做的就是从 URI 中获取 ID 从 ID 中获取一些用户数据 分配一些会话数据 然后加载视图 function switch user i
  • 整个项目的行尾更改编辑器/应用程序

    我有一个由许多扩展组成的项目 这些扩展使用全部 3 种行结束类型 但服务器只能运行2个 我有一个编辑器可以更改打开文件中的行结尾 但我需要一些可以进行批量转换的应用程序 因为它大约有 10 000 个文件 有任何想法吗 谢谢你 例如 可以使
  • 无法理解如何在 1.6+ 中使用不同密度的图像?

    我试图了解 res drawables 图像如何在不同的屏幕密度下工作 现在我有一个 1 5 的应用程序 例如 我有一个 100x100 像素的图像 当在 Droid 上使用时 它会缩放该图像 使其在该设备上看起来具有相同的大小 所有其他布
  • Phonegap 应用程序:外部 URL 无法在 IOS 的应用内浏览器中打开

    外部 URL 无法在我的 PhoneGap IOS 应用程序的系统浏览器中打开 我正在使用 PhoneGap Build 2 7 0 JavaScript window open myURL blank location yes 配置文件
  • 使用 WHERE ... IN (...) 进行慢速 SQL 查询的替代方法

    这实际上是一个更大的复杂查询的一部分 根据查询计划 此语句的排序主导较大查询的成本 通过具体化查询的这一部分 我验证了它在成本中占主导地位 select sID ROW NUMBER over partition by sID order
  • 奇怪的 java 行为与原始类型的转换

    可能有人在某个地方问过这个问题 但我找不到它 有人可以澄清为什么这段代码会编译并打印出来吗1 long i byte char int long 1 System out println i 它被解析为 long i byte char i
  • Java 8 Stream 与批处理

    我有一个包含项目列表的大文件 我想创建一批项目 并使用该批次发出 HTTP 请求 所有项目都需要作为 HTTP 请求中的参数 我可以很容易地做到这一点for循环 但作为 Java 8 爱好者 我想尝试使用 Java 8 的 Stream 框
  • 与儿童一起使用 CCSprite 淡出

    我正在使用一个CCSprite和其他一些人CCSprite作为子对象添加的对象 我使用的其他动画 缩放和旋转 效果很好 并且子对象也有动画 但是当我使用时CCFadeOut 它只会淡化父级 我读到淡出不适用于儿童 除了迭代每个孩子并调用每个
  • 如何在asp.net中的preinit函数中访问Session?

    void Page PreInit Object sender EventArgs e HttpCookie userInfo userInfo Request Cookies userInfo Session EmpID userInfo
  • TPU本地文件系统不存在?

    我写了一个神经网络模型来分析图像并在最后提取 8 个浮点数 该模型在我的计算机上运行良好 但速度缓慢 因此我在 TPU 云上尝试它 然后砰 我有一个错误 I1008 12 58 47 077905 140221679261440 tf lo
  • Python 中带有两个条件的 if 语句

    我正在编写一个简单的控制台程序来帮助我自己和一些地质学同学进行岩石样本分析 我们的讲师为我们提供了一个流程图 有助于指定样本的特征 我正在尝试将其制作成控制台程序 我的问题是第 9 行的 if 语句是否可以接受两个条件 如果可以的话我写得正
  • 在 Angular 中渲染模板之前加载数据

    我在用角6并使用单向绑定 我在组件中的代码如下所示 ngOnInit this profile getUser 1 subscribe data gt this userData this compiler constructUserDat
  • 如何使用 Puppeteer 监听历史记录?

    使用Puppeteer 是否可以监听浏览器历史记录API 例如history pushState history replaceState or history popState 通常由单页应用程序框架路由器在幕后使用 例如react ro
  • 尝试安装模块 win32clipboard

    我是 python 新手 我正在尝试安装 win32clipboard 以便能够使用此代码 import win32clipboard win32clipboard OpenClipboard win32clipboard SetClipb
  • 在 .NET 中序列化 System.Drawing.Color

    我对具有 System Drawing Color 成员的类使用了默认的 NET 序列化 该代码现在已被人们使用 我需要向该类添加一个额外的成员 但仍反序列化旧版本 因此 我尝试了执行此操作的标准方法 ISerialized 接口 使用 S
  • 打印出的 html 页面上有水印

    https jsfiddle net dhaileytaha g92gr1sy 3 上面的小提琴有一个打印输出页 我需要在打印输出页上添加水印 我不知道我们该怎么做 js jquery css 或以上都不是 请帮忙 document get
  • CustomPicker 确定和取消按钮的颜色

    我在android项目中有这个custompicker类 public class CustomPickerRenderer PickerRenderer private Context context private IElementCo