2015-10-23 379 views
0

我想在ImageButton上点击显示溢出菜单。在图像按钮上点击显示溢出菜单点击

菜单/ menu_scrollable_tab.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    tools:context="com.example.scrollingtab.activity.ScrollableTabsActivity"> 

    <item android:id="@+id/action_settings" 
     android:title="@string/action_settings" 
     android:orderInCategory="100" 
     app:showAsAction="always" 
     android:icon="@drawable/info" /> 

     <item android:id="@+id/action_settings1" 
     android:title="@string/action_settings" 
     android:orderInCategory="100" 
     app:showAsAction="never" /> 

     <item android:id="@+id/action_settings2" 
     android:title="@string/action_settings" 
     android:orderInCategory="100" 
     app:showAsAction="never" /> 
</menu> 

我已禁用默认的操作栏,并使用布局创建行动吧。我没有使用默认的操作栏或工具栏,因为我需要更多地自定义操作栏。

布局/ actionbar.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="50dp" > 
<LinearLayout  
    android:layout_width="fill_parent" 
    android:layout_height="50dp" 
    android:orientation="horizontal" 
    android:background="@color/actionbar_bg" 
    android:weightSum="2"> 

    <ImageButton android:id="@+id/ib_navigation" 
     android:background="@drawable/nv_drawer_24x24" 
     android:layout_width="0dp" 
     android:layout_weight=".3" 
     android:layout_height="50dp"/> 

    <View 
     android:layout_width="0dp" 
     android:layout_height="50dp" 
     android:layout_weight="1.1"/> 

    <ImageButton android:id="@+id/ib_navigation1" 
     android:background="@drawable/info" 
     android:layout_width="0dp" 
     android:layout_weight=".3" 
     android:layout_height="50dp"/> 

    <ImageButton android:id="@+id/ib_navigation2" 
     android:background="@drawable/ic_drawer" 
     android:layout_width="0dp" 
     android:layout_weight=".3" 
     android:layout_height="50dp"/>  
</LinearLayout> 
</RelativeLayout> 

按客户要求我设计使用的布局和外观的操作栏和手感都不错。

默认的OnCreateOptionsMenu(Menu menu)方法没有填充溢出菜单。现在我想填充溢出菜单,点击ImageButtonid= ib_navigation2。我没有任何想法来实现这一点。

任何人都可以帮助我做到这一点。

感谢

回答

0

你需要覆盖的方法来创建你自己的菜单

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.game_menu, menu); 
    return true; 
} 

的buttonclick可以调用openOptionsMenu();

button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     openOptionsMenu(); 
    } 
}); 

否则

public myOnClickMethod(View v) { 
    openOptionsMenu(); 
} 

在这里看到有关菜单 http://developer.android.com/guide/topics/ui/menus.html

希望这会为你工作

+0

我加入的代码按钮的onclick的onCreate方法中的更多信息。这是行得通的,但菜单显示在手机屏幕的底部。是否可以在我点击的按钮正下方显示溢出菜单。 – Royal

+0

嗨任何想法如何使它下面的按钮,我要点击。 – Royal