Android 上下文菜单 悬浮式

Posted esrevinud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 上下文菜单 悬浮式相关的知识,希望对你有一定的参考价值。

可以在每个View控件上注册一个长按点击事件,触发弹出一个悬浮的菜单,也成为上下文菜单

菜单视图部分 xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:title="登录"
        android:id="@+id/login"
        />
    <item android:title="注册"
        android:id="@+id/register"
        />

</menu>

菜单逻辑代码 java

public class MainActivity extends AppCompatActivity {

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

        registerForContextMenu(findViewById(R.id.btn));
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        getMenuInflater().inflate(R.menu.first, menu);
    }

    @Override
    public boolean onContextItemSelected(@NonNull MenuItem item) {

        switch (item.getItemId()) {
            case R.id.login:
                Toast.makeText(this, "你刚刚点了登录", Toast.LENGTH_LONG).show();
                break;
            case R.id.register:
                Toast.makeText(this, "你刚刚点了注册", Toast.LENGTH_LONG).show();
                break;
        }

        return true;
    }
}

以上是关于Android 上下文菜单 悬浮式的主要内容,如果未能解决你的问题,请参考以下文章

UI控件之菜单(Menu)

上下文菜单不适用于两个片段

ListFragment 的上下文菜单

标签菜单android - 不正确的调用片段

如何在android的片段中设置应用程序上下文?

如何在多片段活动中处理 onContextItemSelected?