1

我目前正在尝试添加一个工具栏作为操作栏,除了要显示的应用程序的名称之外,我无法获取任何内容。我从appcompat添加工具栏并创建了菜单xml文件。为了将两者联系起来,我需要采取必要措施吗?Android上不显示的溢出和其他菜单项

这里是我的活动XML:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context=".canvas.CanvasActivity" 
    > 


    <com.alastech.andyluo.crowdshout_androidapp.canvas.CanvasTest 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/view" 
     android:layout_gravity="center" /> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/canvas_toolbar" 
     android:layout_width="match_parent" 
     android:elevation="0dp" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

</FrameLayout> 

我肯定工具栏被添加到正确的,因为我已经能够改变它的大小和它运行时已经正确地反映布局。

这里是菜单中的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"> 

    <item 
     android:id="@+id/action_new_shout" 
     android:icon="@drawable/ic_add_black_48dp" 
     android:title="@string/action_new_shout" 
     app:showAsAction="always" 
     /> 



    <item 
     android:id="@+id/action_menu" 
     android:title="@string/action_menu" 
     app:showAsAction="never" 
     /> 

</menu> 

而且这是在操作栏中显示出来的唯一的事:

enter image description here

只是要清楚,我非常完全按照这个教程: http://developer.android.com/training/appbar/index.html

任何帮助表示赞赏,谢谢!

+0

是一个活动或片段? – kopikaokao

+0

是否设置了setHasOptionMenu(true);如果你正在使用一个片段 –

+0

这是一个活动 – user5891328

回答

0

添加下面的方法在你的活动

@Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      // use sample_actions or wheever your xml for the menufile name below 
      getMenuInflater().inflate(R.menu.sample_actions, menu); 
      return true; 
     } 
+0

有趣的是,我看到一个类似的解决方案,并尝试它没有成功。这完美的作品!谢谢! – user5891328