Android入门之SubMenu的实现详解

 更新时间:2022年11月25日 08:57:34   作者:TGITCIC  
这篇文章主要为大家详细介绍了Android如何实现SubMenu子菜单的效果,文中的示例代码讲解详细,对我们学习Android有一定的帮助,感兴趣的可以了解一下

简介

我们延用在上一篇Menu篇里的例子,把这个ContextMenu里套一层子菜单。

其实,它的原理很简单。

就是在ContextMenu的:public void onCreateContextMenu方法里,用inflator.inflate(R.menu.sub_menu, menu);加载一个外部的sub_menu。

项目结构

很简单,一点不难。来看代码。

前端代码

sub_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/submenu" android:title="子菜单使用演示~">
        <menu>
            <group android:checkableBehavior = "none">
                <item android:id="@+id/one" android:title = "子菜单一"/>
                <item android:id="@+id/two" android:title = "子菜单二"/>
                <item android:id="@+id/three" android:title = "子菜单三"/>
            </group>
        </menu>
    </item>
</menu>

后端代码

MainActivity.java

package org.mk.android.demosubmenu;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends AppCompatActivity {
    private Button btnShowMenu;
    private TextView viewContext;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        viewContext=(TextView)findViewById(R.id.viewContext);
        registerForContextMenu(viewContext);
    }
    @Override
    //重写上下文菜单的创建方法
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenu.ContextMenuInfo menuInfo) {
 
        //子菜单部分:
        MenuInflater inflator = new MenuInflater(this);
        inflator.inflate(R.menu.sub_menu, menu);
        super.onCreateContextMenu(menu, v, menuInfo);
 
 
    }
 
    //上下文菜单被点击是触发该方法
    @Override
    public boolean onContextItemSelected(MenuItem item) {
 
 
        switch (item.getItemId()) {
            case R.id.one:
                Toast.makeText(MainActivity.this,"你点击了子菜单一",Toast.LENGTH_SHORT).show();
                break;
            case R.id.two:
                item.setCheckable(true);
                Toast.makeText(MainActivity.this,"你点击了子菜单二",Toast.LENGTH_SHORT).show();
                break;
            case R.id.three:
                Toast.makeText(MainActivity.this,"你点击了子菜单三",Toast.LENGTH_SHORT).show();
                item.setCheckable(true);
                break;
        }
        return true;
 
    }
}

运行效果

我们以Toast来显示不同的子菜单选择后的效果即可。

到此这篇关于Android入门之SubMenu的实现详解的文章就介绍到这了,更多相关Android SubMenu内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android实现H5与Native交互的两种方式

    Android实现H5与Native交互的两种方式

    Android实现H5页面和Native页面交互的方法有两种,一种是Url拦截的方法,另一种是JavaScript注入,下面来通过这篇文章分别讲解。有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • Android ListView列表实现倒计时

    Android ListView列表实现倒计时

    这篇文章主要为大家详细介绍了Android ListView列表实现倒计时,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Android优化应用启动速度

    Android优化应用启动速度

    这篇文章主要介绍了Android优化应用启动速度,针对Android性能优化中的加快应用启动速度进行学习,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Android实现通过手势控制图片大小缩放的方法

    Android实现通过手势控制图片大小缩放的方法

    这篇文章主要介绍了Android实现通过手势控制图片大小缩放的方法,结合实例形式分析了Android控制图片缩放的原理、实现步骤与相关操作技巧,需要的朋友可以参考下
    2016-10-10
  • Android实现几种推送方式解决方案

    Android实现几种推送方式解决方案

    推送功能在手机开发中应用的场景是越来起来了,本篇文章主要介绍了Android实现几种推送方式解决方案 ,具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12
  • Android自定义仿微信PopupWindow效果

    Android自定义仿微信PopupWindow效果

    这篇文章主要为大家详细介绍了Android自定义仿微信PopupWindow效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android RecycleView滑动停止后自动吸附效果的实现代码(滑动定位)

    Android RecycleView滑动停止后自动吸附效果的实现代码(滑动定位)

    这篇文章主要介绍了Android RecycleView滑动停止后自动吸附效果的实现代码(滑动定位),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Android中Activity组件实例介绍

    Android中Activity组件实例介绍

    大家好,本篇文章主要讲的是Android中Activity组件实例介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Android仿新浪微博、QQ空间等帖子显示(2)

    Android仿新浪微博、QQ空间等帖子显示(2)

    这篇文章主要为大家详细介绍了Android仿新浪微博、QQ空间等帖子显示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android实现图片拖动效果

    Android实现图片拖动效果

    本文主要介绍了Android实现图片拖动效果的实例,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03

最新评论