1

我想创建一个自定义菜单,并将该菜单在特定的布局是在的RelativeLayout的中心,我试图让这样的,但没有奏效:如何在android中的布局中创建自定义菜单?

<RelativeLayout 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" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".Home" > 

    <LinearLayout 
     android:id="@+id/grid1" 
     android:layout_width="750dp" 
     android:layout_height="400dp" 
     android:background="@android:color/darker_gray" 
     android:layout_centerInParent="true" 
     android:orientation="vertical" > 

    <menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/Main" 
      android:title="@string/main"/> 
    <item android:id="@+id/Sub" 
      android:title="@string/sub"/> 
    </menu> 

    </LinearLayout> 

</RelativeLayout> 

Java的:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     //RelativeLayout layout = (RelativeLayout) findViewById(R.layout.activity_home); 

     getMenuInflater().inflate(R.menu.home, menu); 
     return true; 
    } 

我还试图使它在一个单独的文件然后将其添加但这样做,它只是在动作条的形式显示。

回答

0

android:showAsAction="never"放在菜单项中以显示菜单中的项目。在菜单文件夹 像

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item android:id="@+id/Main" 
       android:title="@string/main" 
       android:showAsAction="never"/> 
     <item android:id="@+id/Sub" 
       android:title="@string/sub" 
       android:showAsAction="never"/> 
     </menu> 

放菜单布局(RE的子文件夹)

+0

当这样做时,它在操作栏中显示的不是在指定的布局 – MRefaat

0

菜单将无法正常工作那样。如果你想有一个菜单样的布局,你可以使用Android仪表板

这里是Android的仪表板click here

的例子怎样的仪表板看起来就像

enter image description here

0

这是不可能的使用菜单直接进入你的布局。而是在res/menu文件夹中创建一个菜单布局。然后用夸大它弹出菜单监听器里面的任何按钮点击事件。在下面的链接中有一个很好的例子。 您也可以使用PopMenuWindow使用自定义布局作为popUpMenu。

http://www.javatpoint.com/android-popup-menu-example

相关问题