Android用纯Java来实现选项菜单中菜单、子菜单的布局设计以及简单交互功能

 

             ————安德风QQ1652102745

 

 

一、效果演示:

二、布局设计activity_main.xml

 1 <?xml version="1.0" encoding="utf-8"?> 2 "http://schemas.android.com/apk/res/android" 3     xmlns:app="http://schemas.android.com/apk/res-auto" 4     xmlns:tools="http://schemas.android.com/tools" 5     android:layout_width="match_parent" 6     android:layout_height="match_parent" 7     android:background="@drawable/beijing" 8     tools:context=".MainActivity"> 9 10     <TextView11         android:layout_width="267dp"12         android:layout_height="47dp"13         android:text="你好,安德风"14         android:textColor="#FFFFFF"15         android:textSize="34sp"16         app:layout_constraintBottom_toBottomOf="parent"17         app:layout_constraintLeft_toLeftOf="parent"18         app:layout_constraintRight_toRightOf="parent"19         app:layout_constraintTop_toTopOf="parent" />20 21 

三、功能实现MainActivity.java

 1 package com.example.xzjhomework04; 2  3 import androidx.annotation.NonNull; 4 import androidx.appcompat.app.AppCompatActivity; 5  6 import android.annotation.SuppressLint; 7 import android.os.Bundle; 8 import android.view.Menu; 9 import android.view.MenuItem;10 import android.view.SubMenu;11 import android.widget.Toast;12 13 public class MainActivity extends AppCompatActivity {14 15     @Override16     protected void onCreate(Bundle savedInstanceState) {17         super.onCreate(savedInstanceState);18         setContentView(R.layout.activity_main);19     }20 21     @Override22     public boolean onCreateOptionsMenu(Menu menu) {23         getMenuInflater().inflate(R.menu.optionmenu,menu);24 25         //SubMenu方法的运用实现菜单与子菜单的建立26         //添加菜单选项27         SubMenu zcd1=menu.addSubMenu("菜单1");//添加菜单一28         //添加子菜单选项29         /*30          * add方法的参数说明:31          * 参数一:group ID(int) :组ID,用于标示该子选项属于哪一个组32          * 参数二:item ID(int) :子选项ID,用于标示该子选项33          * 参数三:order ID(int): 显示顺序,用于标示该子选项显示顺序,默认为0,表示按添加顺序显示34          * 参数四:title (String): 用于定义该子选项的显示文字35          *36          * */37 38         zcd1.add(1,1,0,"子菜单1");//为菜单一添加子菜单139         zcd1.add(1,2,0,"子菜单2");//为菜单一添加子菜单240         zcd1.add(1,3,0,"子菜单3");//为菜单一添加子菜单341         zcd1.add(1,4,0,"子菜单4");//为菜单一添加子菜单442         SubMenu zcd2=menu.addSubMenu("菜单2");//添加菜单二43         zcd2.add(2,1,0,"子菜单1");//为菜单二添加子菜单144         zcd2.add(2,2,0,"子菜单2");//为菜单二添加子菜单245         zcd2.add(2,3,0,"子菜单3");//为菜单二添加子菜单346         zcd2.add(2,4,0,"子菜单4");//为菜单二添加子菜单447 48 49         return true;50     }51 52     @SuppressLint("WrongConstant")53     @Override54     public boolean onOptionsItemSelected(@NonNull MenuItem item) {55         String title="选择了"+item.getTitle().toString();56         int itemId = item.getItemId();57         if(itemId!=0){  //如果不是父级菜单,即子菜单58             String tstStr = "选中的是菜单"59                     +item.getGroupId()+"中的子菜单"+itemId;60             Toast.makeText(this,tstStr,3000).show();61         }62         return super.onOptionsItemSelected(item);63 64 65     }66 }

四、菜单布局文件optionmenu.xml

<?xml version="1.0" encoding="utf-8"?>"http://schemas.android.com/apk/res/android">

 

更多相关文章

  1. 使用安卓SerialManagerService
  2. android PopupWindow模拟Windows开始菜单显示消失效果
  3. Litepal的简单使用
  4. ViewRoot/ViewRootImpl分析
  5. 在android里用ExpandableListView实现二层和三层列表源码
  6. 仿QQ下拉菜单列表 自定义Spinner
  7. Android(安卓)Studio 如何快速添加override或者implements方法
  8. 【Android】常量DEFAULT_KEYS_SHORTCUT 功能的验证 及其 源码实
  9. framework中自定义系统级权限

随机推荐

  1. Android(安卓)属性系统设计分析
  2. 【Android基础笔记01】Android开发环境搭
  3. Qt on Android:应用截屏
  4. android触摸事件分发与处理简述
  5. Android(安卓)读写文件
  6. 史上最全的Android开发学习教程集锦【初
  7. Android从零单排——前言
  8. Android(安卓)ImageView 的scaleType 属
  9. Android项目构建Apk包流程
  10. Android整理笔记——1.3.2.1自定义view的