如何在操作栏中的多个菜单项中显示图标和文本?

时间:2016-03-28 11:40:13

标签: android android-layout android-actionbar appcompatactivity

附件是显示菜单项的屏幕截图。enter image description here

3 个答案:

答案 0 :(得分:1)

如果有人还在寻找答案,我就是这样做的 -

<强> menu.xml文件

<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">


    <item 
        android:id="@+id/a_More"
        android:icon="@drawable/more"
        android:showAsAction="always"
        android:title="More" >

        <menu>

    <item
        android:id="@+id/MENU_GOTO"
        android:orderInCategory="100"
        app:showAsAction="never" 
        android:showAsAction="never"
        android:icon="@drawable/go_to"
        android:title="Go To Page"/>

        <item
        android:id="@+id/MENU_OUTLINE"
        android:orderInCategory="100"
        app:showAsAction="never" 
        android:showAsAction="never"
        android:icon="@drawable/outline"
        android:title="Table of Contents"/>

    <item
        android:id="@+id/MENU_OPTIONS"
        android:orderInCategory="100"
        app:showAsAction="never" 
        android:showAsAction="never"
        android:icon="@drawable/settings"
        android:title="Settings"/>

    <item
        android:id="@+id/MENU_EXIT"
        android:orderInCategory="100"
        app:showAsAction="never" 
        android:showAsAction="never"
        android:icon="@drawable/exit"
        android:title="Exit"/>

        </menu>
    </item>
</menu>

在活动中 -

@Override
public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu);
return super .onCreateOptionsMenu(menu);
    }

答案 1 :(得分:0)

http://www.androidhive.info/2013/11/android-working-with-action-bar/

这里应该知道重要的xml属性是

android:icon - 定义操作项的图标 android:title - 图标的标题 android:showAsAction - 定义操作项的可见性。它接受以下值 始终:强制显示图标始终与可用空间无关。建议不要这样。 withText显示文本和图标。通常会显示由android:title定义的文本值

对于要在操作菜单中显示的每个项目,您可以使用withText for android:showAsAction,如下所示。 机器人:showAsAction = “withText”

答案 2 :(得分:0)

     actionBar = getActionBar();

    // Hide the action bar title
    actionBar.setDisplayShowTitleEnabled(false);

    // Enabling Spinner dropdown navigation
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

    // Spinner title navigation data
    navSpinner = new ArrayList<SpinnerNavItem>();
    navSpinner.add(new SpinnerNavItem("Local", R.drawable.ic_location));
    navSpinner.add(new SpinnerNavItem("My Places", R.drawable.ic_my_places));
    navSpinner.add(new SpinnerNavItem("Checkins", R.drawable.ic_checkin));
    navSpinner.add(new SpinnerNavItem("Latitude", R.drawable.ic_latitude));     

    // title drop down adapter
    adapter = new TitleNavigationAdapter(getApplicationContext(), navSpinner);

    // assigning the spinner navigation     
    actionBar.setListNavigationCallbacks(adapter, this);