在Xamarin.forms中

时间:2018-11-20 12:20:50

标签: android xamarin xamarin.android

我想阻止复制粘贴。我尝试了所有解决方案,但在Android 8.1中失败。当用户处于potrait模式但在横向模式下移动后,剪切复制粘贴菜单正常工作时,此功能效果很好。 我已经使用了这些解决方案

1)Control.LongClickable = false;

2)

class Callback : Java.Lang.Object, ActionMode.ICallback
{

    public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
    {
        return false;
    }

    public bool OnCreateActionMode(ActionMode mode, IMenu menu)
    {
        return false;
    }

    public void OnDestroyActionMode(ActionMode mode)
    {

    }

    public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
    {
        return false;
    }
}

1 个答案:

答案 0 :(得分:0)

因此,这里发生的是,Android OS在横向显示时会显示EditText(本机控件类型)的全屏编辑器视图,从而替换页面UI,因此应用于控件的属性不会影响此新的完全显示。屏幕输入界面。最好的解决方案可能是禁用EditText控件以使用提取的UI。

因此,除了您在1)1n 2)中已经完成的操作之外,还添加以下内容:

Control.ImeOptions =  Control.ImeOptions | (ImeAction)Android.Views.InputMethods.ImeFlags.NoExtractUi;
Control.SetTextIsSelectable(false); // disallow even selecting the text

现在,当您移动到横向时,页面UI将保持不变,而不是切换到全屏EditText UI。