当前位置: 首页 > news >正文

北京好网站制作公司永兴集团网站

北京好网站制作公司,永兴集团网站,红河学院网站建设,什么网站可以查房屋建筑面积目录 Android ContextMenu 上下文菜单 ContextMenu 范例 参考文档 Android SubMenu 子菜单 范例 参考文档 Android PopupMenu 弹出菜单 范例 参考文档 Android ContextMenu 上下文菜单 在Android开发中#xff0c;ContextMenu#xff08;上下文菜单#xff09;为…目录 Android ContextMenu 上下文菜单 ContextMenu 范例 参考文档 Android SubMenu 子菜单 范例 参考文档 Android PopupMenu 弹出菜单 范例 参考文档 Android ContextMenu 上下文菜单 在Android开发中ContextMenu上下文菜单为用户提供了一种简便的方式来执行对特定组件的操作。例如长按列表中的一个项目时可能会出现一个菜单让用户选择“编辑”、“删除”等操作。 ContextMenu Android提供了一种非常简单的方式来创建和处理上下文菜单ContextMenu主要通过在Activity中重写几个关键方法来实现。 这种方式不依赖于XML布局文件或是直接实例化某个类而是通过与Activity生命周期紧密相关的几个回调方法来管理。 1. registerForContextMenu(View view) 说明这个方法用于为特定的View注册上下文菜单。当用户长按该View时就会触发上下文菜单的显示。使用场景通常在Activity的onCreate()方法中调用此方法为想要显示上下文菜单的View注册。 2. onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) 说明当注册了上下文菜单的View被长按时这个方法会被调用。在这里你可以定义上下文菜单的内容比如菜单项。使用场景需要重写这个方法来填充上下文菜单例如添加菜单项。 3. onContextItemSelected(MenuItem item) 说明用户选择上下文菜单中的某个项时这个方法会被触发。在这里你可以处理用户的点击事件。使用场景需要重写这个方法来响应用户对上下文菜单项的选择。 调用顺序和流程 注册上下文菜单在onCreate()方法中通过调用registerForContextMenu(view)为特定的View注册上下文菜单。创建上下文菜单当用户长按已注册的View时会自动调用onCreateContextMenu(menu, v, menuInfo)方法在这里定义上下文菜单的内容。响应菜单项点击用户点击上下文菜单中的某个项时onContextItemSelected(MenuItem item)方法会被调用在这里处理点击事件。 范例 1、修改 activity_main.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentxmlns:toolshttp://schemas.android.com/toolsandroid:orientationverticalandroid:gravitycentertools:context.MainActivityListViewandroid:idid/listviewandroid:layout_widthmatch_parentandroid:layout_heightwrap_content / /LinearLayout2、修改 MainActivity.java package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast;public class MainActivity extends AppCompatActivity {ListView listView;String[] items {Java, C#, Python, Ruby, PHP, C, Go, Swift, Kotlin, JavaScript};Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView findViewById(R.id.listview);ArrayAdapterString adapter new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);listView.setAdapter(adapter);// 注册 Context MenuregisterForContextMenu(listView);}// 创建 Context MenuOverridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);getMenuInflater().inflate(R.menu.context_menu, menu);}// 处理 Context Menu 项点击事件Overridepublic boolean onContextItemSelected(MenuItem item) {AdapterView.AdapterContextMenuInfo info (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();int itemId item.getItemId();if (itemId R.id.action_edit) {Toast.makeText(this, 编辑 items[info.position], Toast.LENGTH_SHORT).show();return true;} else if (itemId R.id.action_delete) {Toast.makeText(this, 删去 items[info.position], Toast.LENGTH_SHORT).show();return true;} else {return super.onContextItemSelected(item);}} } 3、在res/menu目录下创建一个名为context_menu.xml的文件如果没有menu目录则需要创建它。 ?xml version1.0 encodingutf-8? menu xmlns:androidhttp://schemas.android.com/apk/res/androiditemandroid:idid/action_editandroid:title编辑/itemandroid:idid/action_deleteandroid:title删去/ /menu 参考文档 Android menus Android SubMenu 子菜单 在Android开发中SubMenu子菜单是一种常用的UI组件允许在一个主菜单项下创建一个二级菜单。这对于分类和组织复杂的菜单项非常有用可以帮助用户更好地导航应用的功能。子菜单不是单独存在的而是在 OptionMenu 或者 ContextMenu 中可以添加子菜单 范例 1、创建菜单资源文件 首先需要在res/menu目录下创建一个XML文件来定义菜单项比如main_menu.xml。 ?xml version1.0 encodingutf-8? menu xmlns:androidhttp://schemas.android.com/apk/res/android!-- checkableBehavior 的可选值由三个single设置为单选all为多选none为普通选项 --group android:checkableBehaviornoneitem android:idid/createandroid:title新建 /item android:idid/editandroid:title编辑 //groupitem android:idid/saveallandroid:title子菜单 menu xmlns:androidhttp://schemas.android.com/apk/res/androiditem android:idid/saveandroid:title保存 /item android:idid/save_asandroid:title另存为... /itemandroid:idid/save_allandroid:title保存全部 //menu/itemitem android:idid/helpandroid:title帮助 / /menu 2、修改 activity_main.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentxmlns:toolshttp://schemas.android.com/toolsandroid:orientationverticalandroid:gravitycentertools:context.MainActivityButtonandroid:idid/btn_popandroid:text长按我弹出上下文菜单android:layout_widthwrap_contentandroid:layout_heightwrap_content / /LinearLayout3、修改 MainActivity.java package com.example.myapplication;import android.os.Bundle; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.Button;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btnPop findViewById(R.id.btn_pop);registerForContextMenu(btnPop);}Overridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);getMenuInflater().inflate(R.menu.main_menu, menu);}Overridepublic boolean onContextItemSelected(MenuItem item) {int itemId item.getItemId();if (itemId R.id.create) {// 处理新建操作return true;} else if (itemId R.id.edit) {// 处理编辑操作return true;} else if (itemId R.id.save) {// 处理保存操作return true;} else if (itemId R.id.save_as) {// 处理另存为操作return true;} else if (itemId R.id.save_all) {// 处理保存全部操作return true;} else if (itemId R.id.help) {// 处理帮助操作return true;} else {return super.onContextItemSelected(item);}}}参考文档 Android menus Android PopupMenu 弹出菜单 在Android开发中PopupMenu是一个非常有用的组件它可以在用户界面的任何位置显示一个弹出菜单。这个菜单可以通过编程方式动态创建也可以从XML菜单资源文件加载。 PopupMenu在Android中是一个用于显示上下文菜单的非常方便的组件它可以附着在指定的视图View上。PopupMenu有几种构造方法允许你根据需要选择不同的参数来创建弹出菜单。以下是如何使用这些构造方法以及如何设置和显示PopupMenu的具体步骤 基本构造方法PopupMenu(Context context, View anchor): 这是最基本的构造函数只需要上下文通常是Activity和锚点视图即触发弹出菜单的视图。指定重力的构造方法PopupMenu(Context context, View anchor, int gravity): 这个构造函数除了上下文和锚点视图外还允许你指定弹出菜单的重力gravity例如Gravity.END控制菜单显示的位置相对于锚点视图。完全自定义样式的构造方法PopupMenu(Context context, View anchor, int gravity, int popupStyleAttr, int popupStyleRes): 这是最灵活的构造函数它除了上述参数外还允许你通过popupStyleAttr和popupStyleRes指定弹出菜单的样式。 范例 步骤1: 创建菜单资源文件 首先在res/menu目录下创建一个名为main_menu.xml的菜单资源文件。 ?xml version1.0 encodingutf-8? menu xmlns:androidhttp://schemas.android.com/apk/res/androiditemandroid:idid/action_item1android:title选项 1/itemandroid:idid/action_item2android:title选项 2/itemandroid:idid/action_item3android:title选项 3/ /menu步骤2: 修改 activity_main.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentxmlns:toolshttp://schemas.android.com/toolsandroid:orientationverticalandroid:gravitycentertools:context.MainActivityButtonandroid:idid/button_show_popupandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text显示弹出菜单android:layout_centerInParenttrue/ /LinearLayout步骤3: 修改 MainActivity.java package com.example.myapplication;import android.os.Bundle; import android.view.Gravity; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.PopupMenu; import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button buttonShowPopup findViewById(R.id.button_show_popup);buttonShowPopup.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {// 创建PopupMenu实例PopupMenu popupMenu new PopupMenu(MainActivity.this, v, Gravity.RIGHT);// 从XML资源文件中填充菜单项popupMenu.getMenuInflater().inflate(R.menu.main_menu, popupMenu.getMenu());// 设置菜单项点击事件popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {Overridepublic boolean onMenuItemClick(MenuItem item) {Toast.makeText(MainActivity.this, 选中了: item.getTitle(), Toast.LENGTH_SHORT).show();return true;}});// 显示PopupMenupopupMenu.show();}});} }参考文档 Android menus
http://www.w-s-a.com/news/772581/

相关文章:

  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库
  • 个人网站怎么做微信支付网站建设项目介绍
  • 建网站合同网站适配移动端和PC端
  • 网站建设培训机构哪里好html5开发wap网站
  • 免费自助建站源码学而思网校官网
  • 中国最大的网站制作公司青海省高等级公路建设管局网站
  • 建设网站对服务器有什么要求吗wordpress去除更新提示
  • 找个为公司做网站的手机端原神
  • 邯郸手机建站价格公众号开发者权限哪里添加
  • wordpress模板电子书下载站微信app官方免费下载
  • 从哪些方面进行网站建设如何做网站的实时画面
  • 设计网站公司收费西安小程序开发公司有哪些
  • 如何建网站赚取佣金哪个网站可以做免费宣传
  • 万网手机网站seo方法
  • 免费制作网站app百度首页纯净版
  • 支持api网站开发wordpress排版Markdown
  • 赤峰做网站的logo设计软件在线制作
  • iis网站批量导入苏州最新新闻事件今天
  • 甘肃省住房和城乡建设厅注册中心网站首页沈阳专业关键词推广
  • 网站怎么能在百度搜到网站开发费怎么做会计分录