optionMenu 右侧菜单的简单使用

optionMenu是什么呢?就是你的APP顶部栏右侧可以点击的那三个点点,上图


效果就这样收上去就是图一,点击弹出来就是图二的效果


首先要在res文件夹下创建一个menu文件夹,在在menu文件夹下创建一个xml文件文件叫啥名儿随意,我就叫menu,毕竟取名字比较麻烦

如图

然后就编辑menu文件里面的内容了例如


关于item 用法和安卓的其他控件一毛一样,都可以有ID 点击事件

android:checkable="true" 会出现复选框的样式

item 里面可以继续嵌套menu , menu里面就可以继续嵌套item 依此循环,能套多少层没试过
但是item不能直接套item

例如
<item android:title="扩展菜单"
        >
        <menu>
            <item
                android:icon="@mipmap/ic_launcher"
                android:title="123"
                ></item>
            <item
                android:icon="@mipmap/ic_launcher"
                android:title="456"></item>
        </menu>
    </item>



但是很奇怪的就是第一层的菜单里面加icon图标并不能显示出来

扩展之后的就没问题


完整界面XML如下

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:title="菜单"
        android:checkable="true"
        >
    </item>
        <item
            android:checkable="false"
            android:id="@+id/menu"
            android:title="不知道">
        </item>
        <item
            android:icon="@mipmap/ic_launcher"
            android:title="213"></item>

    <item android:title="扩展菜单"
        >
        <menu>
            <item
                android:icon="@mipmap/ic_launcher"
                android:title="123"
                ></item>
            <item
                android:icon="@mipmap/ic_launcher"
                android:title="456"></item>
        </menu>
    </item>
</menu>

然后最后就是在activity中重写 onCreateOptionsMenu(Menu menu)这个方法


public class MainActivity extends AppCompatActivity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu,menu);

        return true;
    }
}

然后就是各种点击事件的处理。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值