如何在redmi note 8设备中禁用xamarin表单条目控件的复制/粘贴选项?

5jvtdoz2  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(377)

我想在xamarin表单应用程序中禁用我的条目控件的复制/粘贴选项。我使用自定义渲染器。当前的解决方案在除redmi note 8之外的所有其他设备中都能工作。这是我的渲染器代码。

class MyEntryRenderer : EntryRenderer
    {

        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged(e);
            if (Control != null)
            {
              Control.CustomSelectionActionModeCallback = new Callback();
                Control.CustomInsertionActionModeCallback = new Callback();

                Console.WriteLine("CustomSelectionActionModeCallback");
                Control.SetTextIsSelectable(false);
                Control.LongClickable = false;
            }
        }
    }
    public class Callback : Java.Lang.Object, ActionMode.ICallback
        {
            public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
            {
            Console.WriteLine("OnActionItemClicked");
                return true;
            }
            public bool OnCreateActionMode(ActionMode mode, IMenu menu)
            {
            Console.WriteLine("OnCreateActionMode");
            menu.Clear();
            return false;
            }
            public void OnDestroyActionMode(ActionMode mode) {
            Console.WriteLine("OnDestroyActionMode");
        }
            public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
            {
            Console.WriteLine("OnPrepareActionMode");
            menu.Clear();
            menu.Close();
            return true;
            }
        }
    }

在redmi note 8中,长时间单击被禁用,但仍然出现蓝色圆点。单击该按钮时,仍会显示“复制/粘贴”选项。这只发生在redmi note 8中。在我的代码中,除了ondestroyactionmode之外,没有其他回调被命中,我无法执行menu.clear。在其他设备中,使用此代码将禁用该选项

Control.SetTextIsSelectable(false);

这就是它在redmi note 8设备中的显示方式。

我引用了这些链接,因为这个问题与我的问题非常相似,但没有帮助。
禁用编辑文本上下文菜单
edittext:禁用文本选择处理程序单击事件上的粘贴/替换菜单弹出窗口
正如您在图像中看到的,设备中显示了粘贴选项。我不知道如何修复这个bug有什么建议吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题