安卓学习——顶部选项菜单的实现

        在开发中,顶部菜单、底部菜单都是很常见菜单。除此之外还有上下文菜单和弹出菜单。这里主要实现选项菜单。

具体的实现,

 

 

具体的代码,

<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/edit"
        android:title="重命名"
        app:showAsAction="never" />
    <item
        android:id="@+id/recolor"
        android:icon="@drawable/recolor"
        android:title="改变文本颜色"
        app:showAsAction="ifRoom">
        <menu>
            <item
                android:id="@+id/red"
                android:title="红" />
            <item
                android:id="@+id/green"
                android:title="绿" />
            <item
                android:id="@+id/blue"
                android:title="蓝" />
        </menu>
    </item>
    <item
        android:id="@+id/app_bar_search"
        android:icon="@drawable/ic_search_black_24dp"
        android:title="Search"
        app:actionViewClass="android.widget.SearchView"
        app:showAsAction="always" />
</menu>


        这里主要是通过showAsAction属性改变选项的位置,比如app:showAsAction="never",可以设置为只显示在溢出菜单中,app:showAsAction="always",只会显示在顶部菜单栏中,app:showAsAction="ifRoom",根据菜单栏的空间判单,显示在哪里。除此之外,还可以通过app:showAsAction="ifRoom|withText",的方式设置,具体的效果可以更改。

对于菜单的显示位置,需要到themes中设置,防止遮挡菜单栏。

<style name="myOverflow" parent="Widget.AppCompat.PopupMenu.Overflow">
        <item name="overlapAnchor">false</item>
        <item name="android:dropDownVerticalOffset">10dp</item>
</style>

         菜单的具体逻辑要到对应的activity或者fragment中设置,通过onCreateOptionsMenu,onOptionsItemSelected方法实现。

       对于简单的菜单这样写就可以了,但是如果要改变菜单的样式的话,可以自定义来实现,使用popupmenu弹出菜单实现效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值