gpt4 book ai didi

android - 通过单击菜单选项项打开上下文菜单

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:24 28 4
gpt4 key购买 nike

我用安卓做一个应用。我有一个 Activity ,我创建了一个选项菜单,如下所示

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mymenu, menu);
return true;
}

菜单是从 xml 文件加载的:

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="Item1" android:id="@+id/item1" /></menu>

当我点击第 1 项时,我会在我的 Activity 中使用 onOptionsItemSelected 以在点击之后工作:

    @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.item1 :
// here, I would like to open a contextual menu
return true;
default :
return super.onOptionsItemSelected(item);
}
}

因此,当用户单击项目 1 时,我想打开一个上下文菜单。首先,我不知道是否可以直接打开上下文菜单,而无需像互联网上的几个教程那样在屏幕上使用保持位置。

如果可能的话,我怎样才能以这种方式打开上下文菜单?

我想在我的项目 1 中使用 registerForContextMenu()openContextMenu() 但我应该将哪个 View 放入参数中?

如果有人对制作方法有想法,我想知道我必须怎么做。

最佳答案

如果您真的想要上下文菜单,那么我会使用上下文菜单,因为它是在 Android 中设计的,方法是长按给定的项目。人们已经习惯了这一点,应用程序不应在这一点上有所不同。

备选方案有点复杂。你可以做的是将你的菜单加载到一个单独的 Activity 中,你将其设置为对话框窗口(你知道有一个褪色的半透明背景)。这可以通过将 Theme.Dialog 样式应用到 manifest.xml 文件中的 Activity 来轻松完成:

<activity android:name=".activities.TagPopupActivity"
android:label="Tagging" android:theme="@android:style/Theme.Dialog">
...
</activity>

或者,您也可以按照描述直接创建对话窗口 here .然后,您通过在主列表 Activity 中实现适当的点击监听器来获取上下文(即列表点击),然后当用户点击该项目时,您检索它的 id 并将其打包成一个包,然后转发到您的“菜单” - Activity 样式为弹出对话框。

关于android - 通过单击菜单选项项打开上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4907696/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com