在哪里放置主菜单的XML?

时间:2017-02-27 04:12:20

标签: android xml android-actionbar

您将main_menu.xml放在项目中的哪个位置?

我正在尝试制作一个动作栏。 如果main_menu.xml是操作栏的xml, 我在哪里存储操作栏的xml? 注意:不重复!是的,有动作栏的例子,但我只是想知道,***我在哪里放置XML文件?*

2 个答案:

答案 0 :(得分:1)

你好@RedLight这里是牵引方式定义动作栏一个是直接动态添加你的活动内的动作栏或其他方式是如果你想自定义你的动作栏然后你可以动态地使用工具栏和动作栏,以下是你可以看到的例子。

  1. 直接设置Actiobar或标题(您在Crate上的活动中的广告代码)
  2. 对于动态操作栏,您需要使用操作栏定义活动名称,如下所示。

    <activity
                android:name=".ActivitySplash"
                android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
                android:screenOrientation="portrait"
                android:windowSoftInputMode="stateAlwaysHidden"/>
    

    在你的活动中:

    getSupportActionBar().setTitle("Home"); // Define here your actionbar title
            getSupportActionBar().setDisplayHomeAsUpEnabled(true); // If you want to create home or back button inside actionbar
    
    1. 对于第二种类型,在活动顶部定义您的工具栏并将其定义为不是像foollowing一样的操作栏,

          <RelativeLayout
              android:layout_width="match_parent"
              android:layout_height="wrap_content">
      
              <ImageView
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:src="@drawable/ic_delete" />
          </RelativeLayout>
      </android.support.v7.widget.Toolbar>
      
    2. 主题如

      <activity
                  android:name=".ActivitySplash"
                  android:theme="@style/Theme.AppCompat.Light.NoActionBar"
                  android:screenOrientation="portrait"
                  android:windowSoftInputMode="stateAlwaysHidden">
                  <intent-filter>
                      <action android:name="android.intent.action.MAIN" />
      
                      <category android:name="android.intent.category.LAUNCHER" />
                  </intent-filter>
              </activity>
      

      最后动态地将工具栏设置为操作栏

      Toolbar toolbar=(Toolbar)findViewById(R.id.toolbar); 
              setSupportActionBar(toolbar);
      

      对于菜单,您必须在“res”目录中创建菜单目录并放入该目录并在活动中跟随代码。

      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
      
          // Inflate the menu; this adds items to the action bar if it is present.
          getMenuInflater().inflate(R.menu.main_menu, menu);
          return true;
      }
      @Override
      public boolean onOptionsItemSelected(MenuItem item) 
      {
         switch (item.getItemId()) 
         {
           case R.id.search:
            //your code here
              return true;
           default:
              return super.onOptionsItemSelected(item);
         }
      }   
      

答案 1 :(得分:0)

res目录内的menu目录中。

res/menu/some_menu.xml

如果没有该目录,并且您正在使用Android Studio,则可以右键单击res目录,然后依次单击newAndroid Resource Directory

New resource directory window

在弹出的窗口中,将menu作为目录名称,并为资源类型选择menu,最后单击OK

在此目录中,您可以放入所有menu.xml文件。

PS:我必须再次回答这个问题,我有一个相同的问题,被接受的答案更多是关于如何制作工具栏,而不是在哪里放置菜单xml文件。