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

网站建设冒用身份信息sem优化托管公司

网站建设冒用身份信息,sem优化托管公司,手机网站制作教程,网站建设引领者Menu 菜单 OptionsMenu 选项菜单特点: 当通过点击menu键或者3.0以上的手机上#xff0c;点击右上方的三个点#xff0c;出现的列表#xff0c;都是有OptionMenu对象进行控制 ContextMenu上下文菜单特点#xff1a;当长按指定控件后#xff0c;在屏幕中心弹出列表对话框 Po…Menu 菜单 OptionsMenu 选项菜单特点: 当通过点击menu键或者3.0以上的手机上点击右上方的三个点出现的列表都是有OptionMenu对象进行控制 ContextMenu上下文菜单特点当长按指定控件后在屏幕中心弹出列表对话框 PopupMenu 浮动菜单特点:通过指定控件指定监听触发显示可以让菜单列表显示在指定控件的下方 】 概述 【 菜单是一种非常常见的与用户交互的一种用户界面组件 从Android 3.0开始Android不要求手机设备上必须提供MENU按键。因此Android推荐使用ActionBar来代替Menu 】 菜单的创建 【 1、通过代码创建 2、使用xml资源文件创建菜单res/menu目录下建议使用重点掌握 】 菜单的分类 【 Options Menu 选项菜单 Context Menu 上下文菜单 Popup Menu 浮动菜单 】 在XML中定义Menu文件 【 位置res/menu目录下 代表菜单资源 菜单项 android:id // 菜单项的idandroid:icon // 菜单项的图标android:title // 菜单项的标题android:orderInCategory // 排序android:showAsAction // 在ActionBar上的显示参数API 11never不将MenuItem显示在ActionBar上是默认值always总是将该MenuItem显示在ActionBar上ifRoom当AcitonBar上有空间时将该MenuItem显示在ActionBar上没有空间就放入溢出菜单中withText将该MenuItem显示在ActionBar上并显示该菜单项的文本显示自定义ActionBar的View需要和actionViewClass这组参数结合使用API14菜单组 二级菜单子菜单的创建 概念在menu Item中嵌套menu元素可以实现多级菜单嵌套的菜单叫做子菜单一般只会使用二级菜单如果菜单层次太深会严重影响用户体验。二级可选菜单android:checkableBehavior有三个属性值可选all多选single单选none不可选】 1.1.5 选项菜单 【 使用步骤 初始化选项菜单onCreateOptionsMenu(Menu menu)为菜单项设置监听器onOptionsItemSelected(MenuItem item)OptionsMenu的使用方式 方式一纯代码处理官方并不是特别推荐 方式二xml文件代码官方推荐方式 通过xml文件代码实现Options Menu的显示 Xml文件负责设置菜单列表中总共要显示哪些数据选项以及这些选项的显示特点 代码 负责处理加载xml文件并处理点击事件 关于xml文件的处理 在res文件夹内容准备一个menu文件夹所有控制菜单显示的xml文件均被存于此处在menu文件夹中创建一个xml文件让该文件以menu标签作为根标签在menu标签之间添加item标签每一个item标签代表一个菜单选项处理item标签中的属性代码实现 ?xml version1.0encodingutf-8? !--android:id 用于设置item的id即唯一标识用于稍后的点击判断android:title 用于设置标题android:orderInCategory 用于设置item选项在菜单列表中的排列顺序属性值越小排列顺序越靠前如果属性值相同哪个item的代码在前面哪个item就排名靠前android:icon 用于设置图标。注意如果item是显示在菜单列表中那么图标永远不显示android:showAsAction android3.0 以后才出的属性用于设置item在标题栏上的显示特点可选属性值never 该选项永远显示在菜单列表中ifRoom 如果标题栏上有剩余空间就显示在标题栏上如果没有就显示在菜单列表中always 该选项永远直接显示在标题栏上withText 让图标和文字同时显示--itemandroid:idid/item1android:title菜单项一android:orderInCategory3000android:showAsActionalways|withTextandroid:icondrawable/ic_launcher/itemandroid:idid/item2android:title菜单项二android:orderInCategory10android:showAsActionifRoomandroid:icondrawable/ic_launcher/itemandroid:idid/item3android:orderInCategory20android:title菜单项三android:icondrawable/ic_launcher//menupublic class MainActivity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/** 重写onCreateOptionsMenu方法在此方法中加载xml文件参数代表要显示的菜单对象** 返回值true 显示菜单 false 不显示菜单*/Overridepublic boolean onCreateOptionsMenu(Menu menu){// TODOAuto-generated method stub/** 将my.xml文件中的所有item菜单选项添加到参数二指定的menu对象中显示*/getMenuInflater().inflate(R.menu.my_menu, menu);//通过代码添加菜单选项/** 1. 该菜单选项所在组的groupId* 2. 该菜单的唯一标识id属性的值* 3. 控制排列顺序作用等同于orderInCategory属性* 4选项上要显示的文字标题* */menu.add(0, 1, 20, 代码添加menu);return true;}//重写此方法获取菜单项的点击事件参数代表被点击的菜单选项Overridepublic boolean onOptionsItemSelected(MenuItemitem) {// TODOAuto-generated method stubToast.makeText(this,item.getTitle()String.valueOf(item.getItemId()), Toast.LENGTH_SHORT).show();//区分被点击的itemswitch (item.getItemId()){caseR.id.item1:break;caseR.id.item2:break;caseR.id.item3:break;}return super.onOptionsItemSelected(item);}}】 示例代码 【 ?xml version1.0encodingutf-8?menu xmlns:androidhttp://schemas.android.com/apk/res/androiditemandroid:idid/menu1android:orderInCategory100android:showAsActionneverandroid:title选项菜单1/itemandroid:idid/menu2android:orderInCategory100android:showAsActionneverandroid:title选项菜单2/itemandroid:idid/menu3android:orderInCategory100android:showAsActionneverandroid:title选项菜单3/!--选项菜单可分组 --group android:idid/menu_group1itemandroid:idid/menu4android:orderInCategory100android:showAsActionneverandroid:title组1选项菜单1/itemandroid:idid/menu5android:orderInCategory100android:showAsActionneverandroid:title组1选项菜单2//group!--在XML添加具有子选项的菜单 --itemandroid:idid/con_son_menuandroid:title点击出子菜单menu!-- 样式出现选择样式 --group android:checkableBehaviorall itemandroid:checkedtrueandroid:idid/con_son_menu_1android:title子菜单1/itemandroid:idid/con_son_menu_2android:title子菜单2//group/menu/item/menupublic class MainActivity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODOAuto-generated method stub//布局xml配置加载getMenuInflater().inflate(R.menu.my_menu, menu);//代码添加菜单项menu.add(2, 2, 150, 组2代码项1);menu.add(2, 3, 150, 组2代码项2);/*** 可以根据组ID决定组中的菜单项是否可见或可操作*/menu.setGroupEnabled(2,false);/*** 通过代码添加有子菜单项的菜单*/SubMenu sub menu.addSubMenu(3, 33, 333, 代码子菜单);sub.add(3, 34, 333, 子1);sub.add(3, 35, 333, 子2).setOnMenuItemClickListener(new OnMenuItemClickListener() {Override//boolean监听代表处理完监听是否还要进行额外操作publicboolean onMenuItemClick(MenuItemitem) {// TODOAuto-generated method stubToast.makeText(MainActivity.this, item.getTitle()设置单个子菜单事件, Toast.LENGTH_SHORT).show();returnfalse;}});return true;}//菜单列表item的点击事件参数代表被点击的item菜单选项Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODOAuto-generated method stubswitch(item.getItemId()) {case 34:Toast.makeText(MainActivity.this, 点击了子菜单中的子选项1, Toast.LENGTH_SHORT).show();break;case 35:Toast.makeText(MainActivity.this, 点击了子菜单中的子选项2, Toast.LENGTH_SHORT).show();break;}return super.onOptionsItemSelected(item);}}】 上下文菜单 【 使用步骤 初始化上下文菜单onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)为指定控件注册上下文菜单registerForContextMenu(Viewview)为菜单项设置监听器onContextItemSelected(MenuItemitem)特点当长按指定控件的时候显示的菜单列表 位置固定显示与屏幕中心 使用步骤 大体步骤与OptionsMenu 基本一致 通过menu文件夹中的xml文件定义菜单列表中要显示的内容重写onCreateContextMenu方法在该方法中通过重写onContextItemSelected方法获取菜单选项被点击的监听事件在页面的onCreate方法中通过registerForContextMenu方法的参数指定长按哪个控件对象显示菜单当registerForContextMenu方法中传递的是一个listview对象时ContextMenu是针对列表中每个item进行设置 在onContextItemSelected方法中可以通过以下方式获取别长按的item在listview中对应的position位置 //获取被点击的菜单选项对应的菜单信息封装对象 AdapterContextMenuInfo aci (AdapterContextMenuInfo) item.getMenuInfo();//通过菜单信息封装对象获取被点击的item的位置int position aci.position;】 示例代码 【 ?xml version1.0encodingutf-8?menu xmlns:androidhttp://schemas.android.com/apk/res/androiditemandroid:idid/list_item1android:title复制/itemandroid:idid/list_item2android:title删除/itemandroid:idid/list_item3android:title重命名//menupublic class MainActivity extends Activity {private TextView tv;Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv(TextView) this.findViewById(R.id.tv);registerForContextMenu(tv);}Overridepublic voidonCreateContextMenu(ContextMenu menu, View v,ContextMenuInfomenuInfo) {// TODO Auto-generated method stubsuper.onCreateContextMenu(menu, v, menuInfo);getMenuInflater().inflate(R.menu.main, menu);}}public class TwoActivity extends Activity {private ListView lv;ArrayListStringlist newArrayListString();ArrayAdapterStringadapter;Overrideprotected voidonCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_two);lv(ListView) this.findViewById(R.id.listview1);for(inti0;i10;i){list.add(itemi);}adapter newArrayAdapter(this,android.R.layout.simple_list_item_1, list);lv.setAdapter(adapter);registerForContextMenu(lv);}Overridepublic voidonCreateContextMenu(ContextMenu menu, View v, //此v是传递过来的对象ContextMenuInfomenuInfo) {// TODO Auto-generated method stubsuper.onCreateContextMenu(menu, v, menuInfo);getMenuInflater().inflate(R.menu.list_menu, menu);v.setBackgroundColor(Color.RED);}Overridepublic booleanonContextItemSelected(MenuItem item) {// TODO Auto-generated method stubAdapterContextMenuInfoaci(AdapterContextMenuInfo)item.getMenuInfo();final intposition aci.position;switch (item.getItemId()) {case R.id.list_item1: //复制list.add(list.get(position));adapter.notifyDataSetChanged();break;case R.id.list_item2: //删除list.remove(position);adapter.notifyDataSetChanged();break;case R.id.list_item3: //重命名Viewv View.inflate(this,R.layout.custom, null);final AlertDialog dialog new AlertDialog.Builder(this).setView(v).show();final EditText ed_name (EditText)v.findViewById(R.id.ed_name);Buttonbtn_ok (Button) v.findViewById(R.id.btn_ok);btn_ok.setOnClickListener(new OnClickListener() {Overridepublic voidonClick(View v) {// TODO Auto-generated method stublist.set(position, ed_name.getText().toString());adapter.notifyDataSetChanged();dialog.dismiss();}}); break;}return super.onContextItemSelected(item);}Overridepublic voidonContextMenuClosed(Menu menu) {// TODO Auto-generated method stubsuper.onContextMenuClosed(menu);lv.setBackgroundColor(Color.WHITE);}}】 浮动菜单 【 使用步骤 创建浮动菜单对象PopupMenu popupMenu newPopupMenu(this, btn_show_popupmenu);参数1上下文环境参数2需要绑定浮动菜单的控件id将菜单文件加载到内存中getMenuInflater().inflate(R.menu.popup_menu,popupMenu.getMenu());为菜单项设置监听器popupMenu.setOnMenuItemClickListener(OnMenuItemClickListener)显示菜单popupMenu.show();PopupMenu浮动菜单 特点 可以指定任意控件通过任意方式触发浮动菜单的显示 可以显示在指定控件的下方 使用方式 获取控件对象设置任意的监听如设置tv的点击事件 代表是要在tv被点击时显示Popup Menu //1.初始化popupmenu对象 /** 参数2默认情况下是让pm稍后再显示的时候可以显示在该控件的下方* 但是当该控件下方没有足够的控件的时候就让pm显示在该控件的上方* */PopupMenu pm newPopupMenu(PopupMenuActivity.this,tv);/*在这里插入代码片* 3参的构造方法的参数3用于指定pm与控件的对齐方式* 此方法必须确保在 19版本即4.4.2版本以上才能生效* */// PopupMenupm new PopupMenu(PopupMenuActivity.this, tv, Gravity.RIGHT);向popupmenu对象中添加要显示的菜单选项 //添加方式一 getMenuInflater().inflate(R.menu.popup_menu,pm.getMenu());//添加方式二 pm.inflate(R.menu.popup_menu);通过show方法显示popupmenu对象 pm.show();设置popupmenu中菜单选项的点击事件 //获取pm菜单选项的点击事件 pm.setOnMenuItemClickListener(new OnMenuItemClickListener() {Overridepublic boolean onMenuItemClick(MenuItem item) {// TODO Auto-generated method stubToast.makeText(PopupMenuActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();return false;}});PopupWindow的使用 浮动窗口 特点效果上是一个可以自定义显示及显示位置的对话框 使用方式 //1.初始化对象 /** 1. 用于指定pw中要显示View对象* 23. 用于指定pw显示时的宽高* */View vv View.inflate(PopupWindowActivity.this, R.layout.custom, null);PopupWindow pw new PopupWindow(vv, 400, 400);//设置pw中的控件能够获取焦点pw.setFocusable(true);//设置可以通过点击pw外部关闭pw但是生效的前提//是必须给pw设置了背景才行//设置pw的默认背景即如果custom布局中没有指定背景的话就显示此背景pw.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_launcher));pw.setOutsideTouchable(true);//3.通过show**方法显示// pw.showAsDropDown(tv,50, 50);/** 1. 通过参数一指定的控件寻找该控件的父控件* 以父控件的范围为基准* 2. gravity 居中右下等位置* 34. 水平和垂直方向的偏移量** */pw.showAtLocation(tv, Gravity.CENTER, 0, 0);】 PopupWindow浮动窗口 【 基本使用步骤 构造方法PopupWindow(View contentView, intwidth, int height)参数1contentView浮动窗口中显示的内容参数2width浮动窗口的宽度参数3height浮动窗口的高度显示浮动窗口showAsDropDown(Viewanchor, int xoff, int yoff)参数1anchor浮动窗口出现在指定控件的下方参数2xoff在X轴上的偏移量参数3yoff在Y轴上的偏移量隐藏浮动窗口dismiss()显示带列表的浮动窗口 创建ListView对象setAdapter(ListAdapter)设置列表适配器用于填充列表数据setOnItemClickListener(OnItemClickListener)设置列表项的监听事件setFocusable(true)使浮动窗口可以获取焦点setBackgroundDrawable(newColorDrawable())为解决焦点问题这行代码必须执行PopupWindow 补充 当初始化PopupWindow对象时需要通过构造方法传递PopupWindow要显示的宽高除了直接指定宽高对应的数字之外能不能设置成wrap_content或者match_parent?? 解决方式在需要指定宽高的位置通过ViewGroup包内的LayoutParams的类中的静态常量即可调用FILL_PARENT,MATCH_PARENT和WRAP_CONTENT 属性设置了 】 示例代码 menu xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolstools:contextcom.example.day13popupmenu.popupwindow.MainActivityitemandroid:idid/pu_menu1android:titlepm菜单1/itemandroid:idid/pu_menu2android:titlepm菜单2/itemandroid:idid/pu_menu3android:titlepm菜单3/itemandroid:idid/pu_menu4android:titlepm菜单4/ /menupublic class MainActivity extends Activity {private TextView tv;Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv (TextView) this.findViewById(R.id.tv);tv.setOnClickListener(newOnClickListener() {Overridepublic voidonClick(View v) {// TODO Auto-generated method stubPopupMenu pm new PopupMenu(MainActivity.this, tv);getMenuInflater().inflate(R.menu.main,pm.getMenu());//pm.inflate(R.menu.main);pm.show();pm.setOnMenuItemClickListener(new OnMenuItemClickListener() {Overridepublic booleanonMenuItemClick(MenuItem item) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();return false;}});pm.setOnDismissListener(new OnDismissListener() {Overridepublic voidonDismiss(PopupMenu menu) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, close,Toast.LENGTH_SHORT).show();}});}});} }public class TwoActivity extends Activity {private TextView tv;Overrideprotected voidonCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv (TextView) this.findViewById(R.id.tv);tv.setOnClickListener(newOnClickListener() {Overridepublic voidonClick(View v) {View vv View.inflate(TwoActivity.this, R.layout.custom,null);final PopupWindow pw newPopupWindow(vv, 300, 300);// pw.showAsDropDown(vv,50,50);// 设置pw能够获得焦点pw.setFocusable(true);// 设置浮动窗体点击旁白能够自动消失,但是必须要设置setBackgroundDrawable才能生效pw.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_launcher));pw.setOutsideTouchable(true);pw.showAtLocation(vv,Gravity.CENTER, 0, 0);Buttonbtn_ok (Button) vv.findViewById(R.id.btn_ok);final EditText ed_edit (EditText) vv.findViewById(R.id.ed_name);btn_ok.setOnClickListener(new OnClickListener() {Overridepublic voidonClick(View v) {// TODO Auto-generated method stubToast.makeText(TwoActivity.this,ed_edit.getText().toString(),Toast.LENGTH_SHORT).show();pw.dismiss();}});}});} }
http://www.w-s-a.com/news/83619/

相关文章:

  • 分类网站一天做几条合适南安网络推广
  • 案例学 网页设计与网站建设百度竞价关键词出价技巧
  • 做公司网站要那些资料南雄网站建设
  • 自己做的网站发布到网上视频播放不了网页游戏奥奇传说
  • 网站效果用什么软件做品牌网站建设等高端服务
  • 四川省成华区建设局网站网站专业制作
  • 网站建设如何开票网站后台怎么做超链接
  • 教育网站设计方案建设网站技术公司电话号码
  • 建网站要定制还是第三方系统传奇网站模板psd
  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站
  • 如何快速提升网站pr短剧个人主页简介模板
  • 上海网站建设 永灿百度权重3的网站值多少
  • 公司展示网站模板模板工
  • 网站建设收费详情舟山公司做网站
  • 深圳宝安区住房和建设局网站html模板大全
  • 和田哪里有做网站的地方wordpress地址更改
  • 恒通建设集团有限公司网站企业网站百度指数多少算竞争大
  • 雅虎网站收录提交入口如何使用wordpress搭建网站
  • 微商城网站建设怎么样发稿是什么意思
  • dz建站与wordpress群晖做网站服务器速度快吗
  • 做手机网站的公司网站建设 app开发 图片
  • 网站开发技术背景介绍wordpress数据库重置密码
  • 开发建设网站的实施过程是一个logo设计品牌
  • 做360pc网站排名首页工程造价信息网官网首页
  • 产品销售网站模块如何设计大数据和网站开发
  • 现在帮别人做网站赚钱不济南做网站建设公司