how to show menu item under overflow icon in android api 8+

此生再无相见时 提交于 2019-12-05 20:16:09

layout for custom action bar

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/actionBarSize"
    android:background="@drawable/header"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvActionBarTitle"
        android:layout_width="match_parent"
        android:layout_height="?android:attr/actionBarSize"
        android:gravity="center"
        android:textColor="#FFFFFF"
        android:textSize="30sp" />

    <Button.../>
<!--     your code for button -->
</LinearLayout>

You can call below function in onCreate and define button in this function as I have defined appName text view and its OnClick event

 private void createCutomActionBarTitle()
        {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)
            {
                this.getActionBar().setHomeButtonEnabled(true);
            }
            this.getActionBar().setDisplayShowCustomEnabled(true);
            this.getActionBar().setDisplayShowTitleEnabled(false);
            this.getActionBar().setBackgroundDrawable(drawable);
            this.getActionBar().setIcon(logo);
            LayoutInflater inflator = LayoutInflater.from(this);
            View v = inflator.inflate(R.layout.custom_action_bar, null);

            ((TextView) v.findViewById(R.id.tvActionBarTitle)).setText(Global.ACTIVITY_NAME);

            this.getActionBar().setCustomView(v);
        }

Hope this will be useful for you :) But clicking physical button of device will not trigger this button you have to look for it, as I don't have any idea about it

Could you post java code ? Do you have code below in your activity ?

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    getMenuInflater().inflate(R.menu.menu, menu);;
    return super.onCreateOptionsMenu(menu);
}

Edit : I alway use code like this(when i click action_settings it will show action list contains setting and bar, i think just replace android:title="@string/action_settings" with android:icon)

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:title="@string/action_settings">
         <menu>
            <item 
                android:enabled="true" 
                android:visible="true" 
                android:title="setting" 
                android:id="@+id/setting">
            </item>
            <item 
                android:enabled="true" 
                android:visible="true" 
                android:title="B" 
                android:id="@+id/bar">
            </item>
        </menu>
    </item>
     <item
        android:id="@+id/action_settings1"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:title="@string/action_settings"/>
</menu>

Hope it helps

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!