标签: submenu

防止块元素溢出父元素的宽度

我有一个菜单(jsfiddle),如下所示,它是由<ul><li>元素构建的。

在此输入图像描述

子菜单元素显示在父元素下方,并且容器是固定宽度的<ul>。我遇到的问题是,对于右侧的菜单元素,第二级<ul>溢出了父元素的宽度,如下所示:

当前状态

如何确保子菜单显示如第一张图片所示,但对于更靠右的菜单元素,仅移动到右边框,保持大小不变​​,而不是溢出?

在此输入图像描述

html css layout menu submenu

6
推荐指数
1
解决办法
2万
查看次数

导航栏菜单中的导航栏菜单在闪亮的

如果我在 Shiny 中使用以下 UI,我会大致得到我想要的输出,但它实际上不起作用,因为最低级别的 navbarMenu 显示它的顶级标签和指示它可扩展但无法注册子项的箭头。我的猜测是因为这仅被设计为顶级元素(导航栏菜单)。我的问题是,是否还有另一个元素可以执行所需的子菜单任务?无法在菜单项下分组将很快变得视觉效率低下。

shinyUI(navbarPage("My Application",
                   tabPanel("Component 1"),
                   tabPanel("Component 2"),
                   navbarMenu("More",
                              tabPanel("Sub-Component A"),
                              tabPanel("Sub-Component B"),
                              navbarMenu("Yet More",
                                         tabPanel("Subpart 1"),
                                         tabPanel("Subpart 2"))
                              )
                   )
)
Run Code Online (Sandbox Code Playgroud)

r submenu drop-down-menu shiny

6
推荐指数
1
解决办法
1764
查看次数

C++ win32高效上下文菜单和子菜单

当用户右键单击 notifyicon 数据(托盘图标)时,我想向我的 win32 应用程序(c++)添加右键单击上下文菜单/子菜单。我可以制作一个简单的一级菜单,但找不到多级菜单的示例。

我想创建一个看起来像这样的菜单:

Settings ->  Setting 1  -> Setting 2
                        -> Setting 3
         ->  Settings 4 -> Setting 5
                        -> Setting 6    
Exit 
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码创建菜单:

 HMENU hPopupMenu = CreatePopupMenu();
 InsertMenu(hPopupMenu, 0, MF_BYPOSITION | MF_STRING, IDM_EXIT, L"Exit");
 SetForegroundWindow(hWnd);
 TrackPopupMenu(hPopupMenu, TPM_BOTTOMALIGN | TPM_RIGHTALIGN, p.x, p.y, 0, hWnd, NULL);
Run Code Online (Sandbox Code Playgroud)

上面的代码放置在notifyicondata消息处理程序(WM_RBUTTONUP)内。

如何使用上面的代码创建子菜单?我是否创建一个新的 HMENU 并将其插入到父菜单中?

另一件让我困扰的事情是,菜单总是在触发右键单击事件时创建,因此每次触发时都会创建一个新的 HMENU。是否可以在应用程序启动时创建菜单(带有子菜单)并在应用程序关闭时销毁它?Windows 是否处理菜单的销毁?

感谢您的回复。

c++ winapi menu submenu

5
推荐指数
1
解决办法
3941
查看次数

c ++ win32动态菜单 - 选择了哪个菜单项

我有一个win32应用程序(c ++),右键单击通知图标绑定上下文菜单.菜单/子菜单项在运行时动态创建和更改.

 InsertMenu(hSettings, 0, MF_BYPOSITION | MF_POPUP | MF_STRING, (UINT_PTR) hDevices, L"Setting 1");
 InsertMenu(hSettings, 1, MF_BYPOSITION | MF_POPUP | MF_STRING, (UINT_PTR) hChannels, L"Setting 2");

 InsertMenu(hMainMenu, 0, MF_BYPOSITION | MF_POPUP | MF_STRING, (UINT_PTR) hSettings, L"Settings");
 InsertMenu(hMainMenu, 1, MF_BYPOSITION | MF_STRING, IDM_EXIT, L"Exit"); 
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,hDevices和hChannels是动态生成的子菜单.动态菜单生成如下:

   InsertMenu(hDevices, i, style, IDM_DEVICE, L"Test 1");
   InsertMenu(hDevices, i, style, IDM_DEVICE, L"Test 2");
   InsertMenu(hDevices, i, style, IDM_DEVICE, L"Test 3");
Run Code Online (Sandbox Code Playgroud)

有没有办法知道哪个项目被点击而不必定义每个子菜单项它自己的ID(上面代码中的IDM_DEVICE)?想要检测用户点击子菜单IDM_DEVICE并且他点击了此子菜单中的第一个项目(测试1).

我想得到这样的东西:

  case WM_COMMAND:
    wmId    = LOWORD(wParam);
    wmEvent = HIWORD(wParam);
    // Parse the menu selections:
    switch (wmId)
    {
        case IDM_DEVICE: …
Run Code Online (Sandbox Code Playgroud)

c++ winapi menu selected submenu

5
推荐指数
1
解决办法
5233
查看次数

CSS下拉菜单(右侧)

我正在尝试创建一个浮动到右侧的子菜单.但是,我撞到了一堵砖墙,只能让它浮在水面上.

http://jsfiddle.net/jspring/yD9N4/

您可以在此处看到(虽然它比正常情况稍宽)子菜单只显示在父列表项中.如果有人能帮我把它漂到右边那就太好了!

<ul class="cl-menu">
    <li>Link 1
        <ul>
            <li><a href="#">Sub Link 1</a>
            </li>
            <li><a href="#">Sub Link 2</a>
            </li>
        </ul>
    </li>
    <li>Link 2
        <ul>
            <li><a href="#">Sub Link 1</a>
            </li>
            <li><a href="#">Sub Link 2</a>
            </li>
        </ul>
    </li>
</ul>

.cl-menu{
    list-style:none outside none;
    display:inline-table;
    position:relative;
    width:100%;
}
.cl-menu li{
    list-style:none outside none;
    border-bottom:1px solid #cccccc;
    padding:5px 1px;
    text-align:center;  

}
.cl-menu > li:hover{

    /*background-color:#303030;*/
    background-color:#66819C;
    color:#FFF;
    font-weight:bold;
    text-decoration:underline;
    opacity:1;
}

.cl-menu li ul{
    display:none;
}

.cl-menu li:hover ul{
    display:block;
    opacity:0.8;
    background-color:#FFF;
    margin-top:4px;
    font-weight:normal !important; …
Run Code Online (Sandbox Code Playgroud)

html css menu submenu

5
推荐指数
1
解决办法
1万
查看次数

将下拉箭头指示符添加到仅包含子菜单的菜单项?

我目前正在尝试在导航菜单上为具有子菜单选项的项目添加箭头指示器.

目前我正在使用这个CSS:

.mainNav li > a:after {
   color: #444;
   content: ' ?';
}
Run Code Online (Sandbox Code Playgroud)

但是这会向每个人添加一个下拉箭头,<li>无论是否存在子菜单.有没有办法只用CSS只将这个箭头添加到有子项的项目?

谢谢!

css navigation html-lists submenu

5
推荐指数
1
解决办法
4万
查看次数

在 NSPopUpButton 中显示选定的子菜单项

我用菜单和子菜单填充了我的 NSPopUpButton。

当我在根菜单上选择一个菜单项(因此,不是子菜单项)时,它会显示所选的菜单项。当我重新单击弹出按钮时,我会在鼠标下获得选定的菜单项。

但是如果我选择一个子菜单项,它不会显示它。如果我重新单击弹出按钮,我不会在鼠标下看到它。每当我单击按钮时,我都必须在菜单层次结构中查找所选项目。

有什么解决办法吗?

selected menuitem submenu nspopupbutton

5
推荐指数
1
解决办法
705
查看次数

如何更改附加到导航视图的子菜单的文本和图标的颜色?

我想弄清楚如何更改实际附加到导航视图的子菜单项的颜色。以下代码实际上来自android studio中可用的Navigation Drawer的默认模板。

activity_main_drawer.xml

 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_camara"
            android:icon="@android:drawable/ic_menu_camera"
            android:title="Import"
            />
        <item
            android:id="@+id/nav_gallery"
            android:icon="@android:drawable/ic_menu_gallery"
            android:title="Gallery"/>
        <item
            android:id="@+id/nav_slideshow"
            android:icon="@android:drawable/ic_menu_slideshow"
            android:title="Slideshow"/>
        <item
            android:id="@+id/nav_manage"
            android:icon="@android:drawable/ic_menu_manage"
            android:title="Tools"/>
    </group>

    <item android:title="Communicate">
        <menu>
            <item
                android:id="@+id/nav_share"
                android:icon="@android:drawable/ic_menu_share"
                android:title="Share"/>
            <item
                android:id="@+id/nav_send"
                android:icon="@android:drawable/ic_menu_send"
                android:title="Send"/>
        </menu>
    </item>

</menu>
Run Code Online (Sandbox Code Playgroud)

活动_main.xml

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:background="#512DA8"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer"
        app:itemTextColor="@drawable/nav_menu_item_color"
        app:itemIconTint="@drawable/nav_menu_item_color"/>

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

我有一个用于单击和正常颜色的可绘制文件,上面实际使用了它。nav_menu_item_color.xml

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<selector>
    <item android:color="@color/navTextHover" android:state_checked="true" />
    <item android:color="@color/navTextNormal" />


</selector>
Run Code Online (Sandbox Code Playgroud)

因此,您可以看到我在下面附加的结果图像:-子菜单项的颜色没有改变

颜色不适用于子菜单,所以,我想做的是..我想更改菜单项“通信”和子菜单项“发送”和“共享”的颜色,因为它适用于根菜单项

xml android menu submenu navigation-drawer

5
推荐指数
2
解决办法
5646
查看次数

使用NavigationView时,如何更改子菜单标题的颜色 - Android

我无法更改子菜单标题的颜色,请参见下图.

我可以更改NavigationView的背景,字体的颜色和图标的颜色,但我在子菜单标题上找不到答案.

例如

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/white"
    app:itemBackground="@color/white"
    app:itemIconTint="@color/dark_green"
    app:itemTextColor="@color/dark_green"
    app:headerLayout="@layout/drawer_header"
    app:menu="@menu/drawer" />
Run Code Online (Sandbox Code Playgroud)

这是我的菜单xml:

<group android:checkableBehavior="single">
    <item
        android:checked="true"
        android:icon="@drawable/ic_attachment"
        android:title="@string/nav_item_attachment" />
    <item
        android:icon="@drawable/ic_image"
        android:title="@string/nav_item_images" />
    <item
        android:icon="@drawable/ic_place"
        android:title="@string/nav_item_location" />
</group>

<item android:title="@string/nav_sub_menu">
    <menu>
        <item
            android:icon="@drawable/ic_emoticon"
            android:title="@string/nav_sub_menu_item01" />
        <item
            android:icon="@drawable/ic_emoticon"
            android:title="@string/nav_sub_menu_item02" />
    </menu>
</item>
Run Code Online (Sandbox Code Playgroud)

请指教.:-).

NavigationView子菜单问题

android textcolor submenu navigationview android-navigationview

5
推荐指数
1
解决办法
954
查看次数

如何向 PopupMenu(而不是子菜单)上的组添加标题

我想添加子菜单项组的标题。我不想使用隐藏并在单击时打开的子菜单,我想实现菜单项组的标题。所以现在我的菜单看起来像这样:

在此输入图像描述

但我想这样实现它:

在此输入图像描述

现在我的 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"
>
    
    <group
    android:id="@+id/group_1"
    android:checkableBehavior="single"
    >
        
        <item
            android:id="@+id/apps_sort_title"
            android:title="@string/apps_sort_title"
            app:showAsAction="ifRoom"
        />
        
        <item
            android:id="@+id/apps_sort_date"
            android:title="@string/apps_sort_date"
            app:showAsAction="ifRoom"
        />
        
        <item
            android:id="@+id/apps_sort_size"
            android:title="@string/apps_sort_size"
            app:showAsAction="ifRoom"
        />
        
    </group>
    
    <item android:title="@string/title_order">
        
        <menu>
            
            <group
            android:id="@+id/group_2"
            android:checkableBehavior="single"
            >
                
                <item
                android:id="@+id/apps_sort_asc"
                android:title="@string/sort_asc"
                app:showAsAction="ifRoom"
                />
                
                <item
                android:id="@+id/apps_sort_desc"
                android:title="@string/sort_desc"
                app:showAsAction="ifRoom"
                />
            
            </group>
        
        </menu>
    
    </item>
    
</menu>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

android menu popupmenu submenu

5
推荐指数
1
解决办法
2029
查看次数