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;
    }
}

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章