如何水平对齐菜单项 [英] how to align menu items horizontally
本文介绍了如何水平对齐菜单项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何创建在第一行中水平对齐的菜单项,例如google chrome
How to create menu items aligned horizontally in the first row like google chrome
我用菜单子项创建了第一项,但是通过这种方式,我得到了将我发送到另一个菜单的行,那么如何使用菜单文件来做到这一点呢?我不想使用对话框
I created the first item with a menu child but by this way i got a row that send me to the other menu, So how to do that using menu file ? i don't want to use Dialog
这是我的菜单文件:
<?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/toolbar_menu"
android:visible="true">
<item
android:id="@+id/item_tabs"
android:icon="@drawable/ic_tabs_24dp"
android:title="@null"
app:showAsAction="always"/>
<item
android:id="@+id/icon_row_menu_id"
android:title="@null"
android:visible="true">
<menu>
<item
android:id="@+id/item_back"
android:icon="@drawable/ic_arrow_back_24dp"
android:title="@string/go_back" />
<item
android:id="@+id/item_forward"
android:icon="@drawable/ic_arrow_forward_24dp"
android:title="@string/go_forward" />
<item
android:id="@+id/item_bookmark_page"
android:icon="@drawable/ic_star_border_24dp"
android:title="@string/bookmark_this_page" />
<item
android:id="@+id/item_download_page"
android:icon="@drawable/ic_download_24dp"
android:title="@string/download_page" />
<item
android:id="@+id/item_info"
android:icon="@drawable/ic_info_outline_24dp"
android:title="@string/view_site_information" />
</menu>
</item>
<item
android:id="@+id/item_new_tab"
android:title="@string/new_tab" />
<item
android:id="@+id/item_new_incognito_tab"
android:title="@string/new_incognito_tab" />
<item
android:id="@+id/item_bookmarks"
android:title="@string/bookmarks" />
<item
android:id="@+id/item_history"
android:title="@string/history" />
<item
android:id="@+id/item_downloads"
android:title="@string/download" />
<item
android:id="@+id/item_settings"
android:title="@string/settings" />
</group>
</menu>
这里是我的用法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
mainMenu = menu;
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
推荐答案
您可以使用项标签的 app:actionLayout ="@ layout/layout_name"
属性
You can use app:actionLayout="@layout/layout_name"
property of item tag like
<item
android:id="@+id/menu_id"
android:title="@string/title"
app:showAsAction="never"
app:actionLayout="@layout/layout_name"/>
和您的 layout_name
是任何布局文件,例如
and your layout_name
is any layout file like
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
//在此处添加水平菜单项
// add your horizontal menu item here
</LineearLayout>
您可以访问此项目
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
MenuItem item = menu.findItem(R.id.menu_id);
Linearlayout rootView = (LinearLayout)item.getActionView();
YourControlClass control = (YourControlClass)
rootView.findViewById(R.id.control_id);
return true;
}
这篇关于如何水平对齐菜单项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文