andriod studio 开发蓝牙实现菜单栏(1)

注:本博客作为学习笔记,有错误的地方希望指正

1、实现基本的菜单结构(一级菜单)
1.1 复写onCreateOptionsMenu,在MainActivity中写的

/**
 * 加载菜单条目
 * @param menu
 * @return
 */
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu,menu);    // 查找文件资源 ctrl + P 查看输入参数
    return super.onCreateOptionsMenu(menu);
}

在这里插入图片描述

1.2、写菜单栏,在andriod 工程结构中res文件夹下面新建menu文件,然后再新建菜单栏对应的.xml文件,在.xml文件中实现自己菜单栏对应的代码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
具体的实现代码

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:title="@string/Open_BlueTooth"
        android:id="@+id/Open_BlueTooth">
    </item>
    <item
        android:title="@string/Connect_BlueTooth"
        android:id="@+id/Connect_BlueTooth">
    </item>
    <item
        android:title="@string/Already_Connect_BlueTooth"
        android:id="@+id/Already_Connect_BlueTooth">
    </item>
</menu>

备注:实现二级菜单就继续在item中添加相同的操作如下同理

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/Blue_connect"
        android:title="连接蓝牙">
        <menu>
            <item
                android:id="@+id/Blue_Two"
                android:title="二级目录">
            </item>
        </menu>
    </item>
    <item
        android:id="@+id/BlueAlreadyConnect"
        android:title="已连接设备">
    </item>
</menu>

1.3 实现点击事件,实现代码

/**
     * 菜单选择
     * @param item
     * @return
     */
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        int itemId = item.getItemId();          //获取哪一个菜单栏点击的ID
        switch (itemId){
            case  R.id.Open_BlueTooth :         //开启蓝牙
                if(mControl.getBlueToothState()){
                    Toast.makeText(this, "蓝牙已开启", Toast.LENGTH_SHORT).show();
                }
                else{
                    mControl.turnOn_BlueTooth(this, REQUST_CODE);   //打开蓝牙 ctrl + alt + c 0 变成REQUST_CODE
                    Toast.makeText(this, "开启蓝牙", Toast.LENGTH_SHORT).show();
                    Log.d(LAG,"开启蓝牙");
                }
                break;
            case R.id.Connect_BlueTooth:        //连接蓝牙
                Toast.makeText(this, "连接蓝牙", Toast.LENGTH_SHORT).show();
                break;
            case R.id.Already_Connect_BlueTooth://已经连接过的蓝牙
                Toast.makeText(this, "已经连接过的蓝牙", Toast.LENGTH_SHORT).show();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}

最终实现效果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值