繁体   English   中英

如何在工具栏上的每个菜单项之间添加分隔线

[英]How can I add dividers in between each menu item on my toolbar

在此处输入图片描述(这是我的菜单栏图片)

我有一个包含4个菜单项的工具栏,但无法找到在每个项之间添加分隔线的方法。 这是我的工具栏.xml文件

EDITED

这是到目前为止,我仍然没有创建分隔符

    <menu xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context="com.mycompany.materialtest.MainActivity">

    <group android:id="@+id/homegroup"
        android:checkableBehavior="single">
        <item
            android:id="@+id/home"
            android:title="home"
            android:orderInCategory="1"
            android:icon="@drawable/homeclicked"
            app:showAsAction="always">
        </item>
    </group>
    <group android:id="@+id/searchgroup"
        android:checkableBehavior="single">
        <item
            android:id="@+id/search"
            android:title="search"
            android:orderInCategory="2"
            android:icon="@drawable/search"
            app:showAsAction="always">
        </item>
    </group>
    <group android:id="@+id/chatgroup"
        android:checkableBehavior="single">
        <item
            android:id="@+id/chat"
            android:title="chat"
            android:orderInCategory="3"
            android:icon="@drawable/chat"
            app:showAsAction="always">
        </item>
    </group>
    <group android:id="@+id/profilegroup"
        android:checkableBehavior="single">
        <item
            android:id="@+id/profile"
            android:title="profile"
            android:orderInCategory="4"
            android:icon="@drawable/user"
            app:showAsAction="always">
        </item>
    </group>
</menu> 

我还分离了mainactivity.java上的菜单项。 如果有帮助的话,这里是代码。

public void setupEvenlyDistributedToolbar(Toolbar toolbar) {
    // Use Display metrics to get Screen Dimensions
    Display display = getWindowManager().getDefaultDisplay();
    DisplayMetrics metrics = new DisplayMetrics();
    display.getMetrics(metrics);


    toolbar.inflateMenu(R.menu.menu_bottombar);


    // Add 10 spacing on either side of the toolbar
    toolbar.setContentInsetsAbsolute(10, 10);

    // Get the ChildCount of your Toolbar, this should only be 1
    int childCount = toolbar.getChildCount();
    // Get the Screen Width in pixels
    int screenWidth = metrics.widthPixels;

    // Create the Toolbar Params based on the screenWidth
    Toolbar.LayoutParams toolbarParams = new Toolbar.LayoutParams(screenWidth, Toolbar.LayoutParams.WRAP_CONTENT);

    // Loop through the child Items
    for (int i = 0; i < childCount; i++) {
        // Get the item at the current index
        View childView = toolbar.getChildAt(i);
        // If its a ViewGroup
        if (childView instanceof ViewGroup) {
            // Set its layout params
            childView.setLayoutParams(toolbarParams);
            // Get the child count of this view group, and compute the item widths based on this count & screen size
            int innerChildCount = ((ViewGroup) childView).getChildCount();
            int itemWidth = (screenWidth / innerChildCount);
            // Create layout params for the ActionMenuView
            ActionMenuView.LayoutParams params = new ActionMenuView.LayoutParams(itemWidth, Toolbar.LayoutParams.WRAP_CONTENT);
            // Loop through the children
            for (int j = 0; j < innerChildCount; j++) {
                View grandChild = ((ViewGroup) childView).getChildAt(j);
                if (grandChild instanceof ActionMenuItemView) {
                    // set the layout parameters on each View
                    grandChild.setLayoutParams(params);
                }
            }
        }
    }
}

}`

任何帮助将非常感谢!

在XML中尝试

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:id="@+id/home"
        android:checkableBehavior="single">
        <item
        android:id="@+id/homegroup"
        android:title="@string/next"
        android:orderInCategory="1"
        android:icon="@drawable/homeclicked"
        app:showAsAction="always">
        </item>
    </group>
    <group android:id="@+id/searchgroup"
        android:checkableBehavior="single">
        <item
         android:id="@+id/search"
         android:title="@string/next"
         android:orderInCategory="2"
         android:icon="@drawable/search"
         app:showAsAction="always">
       </item>
    </group>
    <group android:id="@+id/chatgroup"
        android:checkableBehavior="single">
        <item
         android:id="@+id/chat"
         android:title="@string/next"
         android:orderInCategory="3"
         android:icon="@drawable/chat"
         app:showAsAction="always">
       </item>
    </group>
    <group android:id="@+id/profilegroup"
        android:checkableBehavior="single">
        <item
         android:id="@+id/profile"
         android:title="@string/next"
         android:orderInCategory="4"
         android:icon="@drawable/profile"
         app:showAsAction="always">
       </item>
    </group>
</menu>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM