相关疑难解决方法(0)

禁用EditText上下文菜单

我正在EditText为传统的蒙古人做垂直.我通过EditText在旋转的内部嵌入一​​个略微修改的内容来成功实现它ViewGroup.我需要创建一个完全自定义的上下文菜单,因为系统不支持垂直文本,并且在旋转时也不会ViewGroup旋转.所以我想完全禁用系统上下文菜单.

请注意,这与仅仅尝试禁用复制/粘贴/等的这些问题不同:

虽然我没有在模拟器中出现上下文菜单,但我将它出现在我的Android 5.0.2小米手机中.

我试过了:

我对hacks持开放态度,但我需要它能够在各种设备上持续工作.马克·墨菲(下议院人)写了一段时间,早在回答其他用户试图做同样的事情:

我怀疑,即使你拿出一个答案,它也无法在各种设备上运行.设备制造商倾向于为EditText推出自己的"上下文菜单",从而使开发人员尝试将项目添加到该上下文菜单中.我的猜测是,试图阻止该上下文菜单会产生类似的结果.

我运气不好吗?

我现在唯一能想到的就是完全重写TextViewEditText从头开始(好吧,通过修改Android源代码).我知道其他人做了类似的事,但他的代码不是开源的.在我采取这一重大步骤之前,我想尝试在Stack Overflow上寻求更简单的解决方案.

更新:我一直在尝试修改TextView过去两天的源代码,看起来像是一个6个月的项目.这是一大堆相互关联的课程.我需要另一种解决方案,但我没有想法.

MVCE

这是我能想到的最简单的方法来重现问题.我的习惯没有必要EditText.布局有一个EditText替换默认项目Hello World的TextView.我将min API更改为11以避免处理已弃用的方法.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText editText = (EditText) findViewById(R.id.edit_text);
        editText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
            @Override
            public boolean onCreateActionMode(ActionMode actionMode, Menu …
Run Code Online (Sandbox Code Playgroud)

android contextmenu android-edittext mongolian-vertical-script

31
推荐指数
4
解决办法
6178
查看次数