Android:在视图中重复溢出菜单

Android:在视图中重复溢出菜单,android,contextmenu,Android,Contextmenu,我有一个任务列表,我想在列表的每个项目下面的界面中重复一个内嵌菜单,而不是弹出菜单或上下文菜单。我之所以选择菜单而不是线性布局,是为了方便地使用showAsAction和ifRoom。你有什么建议吗 我尝试的内容:我创建了一个布局/myspecialmenu.xml,并使用addView将其作为每个项目后面的视图包含!显然没有成功 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="

我有一个任务列表,我想在列表的每个项目下面的界面中重复一个内嵌菜单,而不是弹出菜单或上下文菜单。我之所以选择菜单而不是线性布局,是为了方便地使用showAsAction和ifRoom。你有什么建议吗

我尝试的内容:我创建了一个布局/myspecialmenu.xml,并使用addView将其作为每个项目后面的视图包含!显然没有成功

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.javacodegeeks.android.menu.MainActivity"
    android:id="@+id/mycontextmenu" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings"
       android:showAsAction="ifRoom"
       />
</menu> 

对于这种情况,只需忘记菜单实现

转到designer并询问3dots图标,将其保留在按钮或图像视图中。单击按钮后,将使用显示您列出的视图选项。将和适配器设置为ListPopupWindow以创建选项

如果您固定了选项,例如线性布局上显示的3个选项以及溢出菜单中的所有其他选项,则可以轻松地执行此操作,或者根据菜单项计算宽度,并将其余项目移动到溢出图标

希望这有帮助


干杯。

您试图通过菜单实现的目标与此无关。创建活动时会创建菜单。如何重新创建菜单

我建议您采用以下设计:

1制作一个列表\u row\u item.xml具有水平的线性布局

2在水平布局中插入四个项目;前三个是你的文本视图,最后一个是一个可能是一个图像按钮,给它三点菜单的图像

3相应地在这些视图之间分配权重,以便ImageButton在屏幕上占用最少的空间

4然后,您可以在该ImageButton上创建一个简单的OnClickListener


5然后,您还需要像菜单一样的布局,因此您需要创建一个片段,当用户单击ImageButton时将显示该片段。

您尝试使用工具栏了吗?您可以设置自定义布局并使菜单溢出。工具栏需要API级别21。有基于菜单属性的解决方案吗?我给了你AppCompat_v7中兼容工具栏的链接。谢谢。如何控制弹出窗口中剩余菜单的数量和显示?完全以编程方式而不使用XML?如果菜单列表包含5项,请创建3个视图以线性布局显示,其余2个视图在单击“溢出”按钮后显示。将listpopup的锚定标记设置为over flow按钮。
LinearLayout mymenu=(LinearLayout) findViewById(R.id.myspecialmenu);
contents.addView(mymenu);