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

天津网站建设中心沈阳建站程序

天津网站建设中心,沈阳建站程序,晋江做网站模板,花都区建设工程造价管理网站右上菜单#xff0c;可以通过 重写 onCreateOptionsMenu指定 menu#xff0c; 重写 onOptionsItemSelected 来响应点击事件 不过 这个菜单在某些手机上弹出的有点卡顿#xff0c;而且如果不对主题进行设置#xff0c;会从actionbar 上直接弹出#xff0c;而不是下面 如果想…右上菜单可以通过 重写 onCreateOptionsMenu指定 menu 重写 onOptionsItemSelected 来响应点击事件 不过 这个菜单在某些手机上弹出的有点卡顿而且如果不对主题进行设置会从actionbar 上直接弹出而不是下面 如果想从下面弹出要先添加一个style style nameMenuStyle parentstyle/Widget.AppCompat.Light.PopupMenu.Overflowitem nameoverlapAnchorfalse/item/style 之后在activity引用的主题中添加一行  就行了 item nameactionOverflowMenuStylestyle/MenuStyle/item   Menu在没有特别要求的情况还是很好用的但是如果要求比较复杂的时候就不如用PopupWindow了 要实现如图的效果    先拿到从美工拿到的图片     打开sdk的 tools文件夹   打开 draw9patch.bat  把图片拖进去 画黑边   左上两个方向的黑边 表示拉伸部分 右下表示布局中控件内容显示的区域 如果画错了 按住shift 抹掉 完成之后save     布局 1 ?xml version1.0 encodingutf-8?2 LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android3 android:layout_widthwrap_content4 android:layout_heightwrap_content5 android:backgrounddrawable/pop_bg_shadow96 android:gravitycenter_horizontal7 android:orientationvertical8 9 10 LinearLayout11 android:idid/ll_action_config12 android:layout_widthmatch_parent13 android:layout_heightwrap_content14 android:gravitycenter_vertical15 android:orientationhorizontal16 android:padding10dp17 18 19 ImageView20 android:layout_width25dp21 android:layout_height25dp22 android:srcdrawable/pop_setting/23 24 TextView25 android:layout_widthwrap_content26 android:layout_heightwrap_content27 android:paddingLeft15dp28 android:text关联配置29 android:textColorcolor/white/30 31 /LinearLayout32 33 LinearLayout34 android:idid/ll_action_history35 android:layout_widthmatch_parent36 android:layout_heightwrap_content37 android:gravitycenter_vertical38 android:orientationhorizontal39 android:padding10dp40 41 42 ImageView43 android:layout_width25dp44 android:layout_height25dp45 android:srcdrawable/pop_history/46 47 TextView48 android:layout_widthwrap_content49 android:layout_heightwrap_content50 android:paddingLeft15dp51 android:text历史记录52 android:textColorcolor/white/53 54 /LinearLayout55 56 LinearLayout57 android:idid/ll_action_ip58 android:layout_widthmatch_parent59 android:layout_heightwrap_content60 android:gravitycenter_vertical61 android:orientationhorizontal62 android:padding10dp63 64 65 ImageView66 android:layout_width25dp67 android:layout_height25dp68 android:srcdrawable/pop_ip/69 70 TextView71 android:layout_widthwrap_content72 android:layout_heightwrap_content73 android:paddingLeft15dp74 android:textIP地址75 android:textColorcolor/white/76 77 /LinearLayout78 79 LinearLayout80 android:idid/ll_action_about81 android:layout_widthmatch_parent82 android:layout_heightwrap_content83 android:gravitycenter_vertical84 android:orientationhorizontal85 android:padding10dp86 87 88 ImageView89 android:layout_width25dp90 android:layout_height25dp91 android:srcdrawable/pop_about/92 93 TextView94 android:layout_widthwrap_content95 android:layout_heightwrap_content96 android:paddingLeft15dp97 android:text关于98 android:textColorcolor/white/99 100 /LinearLayout 101 /LinearLayout View Code   现在要实现点击 右上菜单 弹出 这个布局同时菜单的图标会变换。   在menu目录 新建一个xml    默认icon是 more_close ?xml version1.0 encodingutf-8? menu xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoitemandroid:idid/action_menuandroid:icondrawable/more_closeandroid:title菜单app:showAsActionalways/item /menu   回到activity Overridepublic boolean onCreateOptionsMenu(Menu menu) {this.menu menu;getMenuInflater().inflate(R.menu.face, menu);return super.onCreateOptionsMenu(menu);}Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.action_menu:View viewfindViewById(R.id.action_menu);showActionMenuPopup(view);break;}return super.onOptionsItemSelected(item);}   红色部分都是关键部分 先看  showActionMenuPopup  这个弹出菜单的方法    首先要改变菜单的图标 menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.more_open)); 这个menu是 全局的 private Menu menu; 在 onCreateOptionsMenu 中 把这个menu初始化   之后 设置 PopupWindow  1 View viewLayoutInflater.from(this).inflate(R.layout.popup_actionmenu,null);2 actionmenupopupWindow new PopupWindow(view, LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);3 actionmenupopupWindow.setContentView(view);4 5 view.findViewById(R.id.ll_action_config).setOnClickListener(this);6 view.findViewById(R.id.ll_action_history).setOnClickListener(this);7 view.findViewById(R.id.ll_action_ip).setOnClickListener(this);8 view.findViewById(R.id.ll_action_about).setOnClickListener(this);9 10 actionmenupopupWindow.setFocusable(true); 11 actionmenupopupWindow.setBackgroundDrawable(new BitmapDrawable()); 12 13 actionmenupopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { 14 Override 15 public void onDismiss() { 16 menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.more_close)); 17 } 18 }); 19 20 actionmenupopupWindow.showAsDropDown(v);   5-8  设置弹出菜单的点击事件 11  点击PopupWindow之外的地方PopupWindow消失 13-18  监听PopupWindow消失  改变菜单图标 20  showAsDropDown  从下方出现   肯定要是一个view的 回到onOptionsItemSelected  找到右上菜单的view  传入了方法中最后在这里使用   还有一个显示方法   直接指定位置不过要测量出状态栏和actionbar的高度 actionmenupopupWindow.showAtLocation(findViewById(R.id.action_menu),Gravity.RIGHT|Gravity.TOP ,0, getStatusBarHeight(this)getSupportActionBar().getHeight());     IOS有一个底部菜单控件 UIActionSheet 安卓方面想实现这个  有第三方的 ActionSheet    有 谷歌官方的design包  BottomSheet 用PopupWindow 也可以实现   rootview LayoutInflater.from(this).inflate(R.layout.activity_main,null);   1 View view LayoutInflater.from(this).inflate(R.layout.popup_camera_sel,null);2 bottompopupWindow new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);3 4 bottompopupWindow.setContentView(view);5 6 view.findViewById(R.id.ll_gallery).setOnClickListener(this);7 view.findViewById(R.id.ll_camera).setOnClickListener(this);8 view.findViewById(R.id.ll_cancle).setOnClickListener(this);9 10 WindowManager.LayoutParams lp getWindow().getAttributes(); 11 lp.alpha 0.6f; 12 getWindow().setAttributes(lp); 13 14 bottompopupWindow.setFocusable(true); 15 bottompopupWindow.setBackgroundDrawable(new BitmapDrawable()); 16 bottompopupWindow.setAnimationStyle(R.style.mypopwindow_anim_style); 17 18 bottompopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { 19 Override 20 public void onDismiss() { 21 WindowManager.LayoutParams lp getWindow().getAttributes(); 22 lp.alpha 1f; 23 getWindow().setAttributes(lp); 24 } 25 }); 26 bottompopupWindow.showAtLocation(rootview, Gravity.BOTTOM, 0, 0);   10-12   18-25   改变屏幕的透明度   style      从底部升上来 降下去的动画  style namemypopwindow_anim_styleitem nameandroid:windowEnterAnimationanim/popshow_anim/item!-- 指定显示的动画xml --item nameandroid:windowExitAnimationanim/pophidden_anim/item!-- 指定消失的动画xml --/style show ?xml version1.0 encodingutf-8? set xmlns:androidhttp://schemas.android.com/apk/res/androidtranslateandroid:duration500android:fromYDelta50%pandroid:toYDelta0 / /set hide ?xml version1.0 encodingutf-8? set xmlns:androidhttp://schemas.android.com/apk/res/androidtranslateandroid:duration500android:fromYDelta0android:toYDelta50%p / /set   布局 ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:backgroundcolor/whiteandroid:orientationverticalandroid:gravitycenterLinearLayoutandroid:idid/ll_galleryandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:gravitycenterTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text相册android:textColor#333333android:textSize20sp//LinearLayout!--TextView--!--android:layout_width200dp--!--android:layout_height1dp--!--android:background#838B8B--!--/--ImageViewandroid:srcdrawable/line_popandroid:scaleTypecenterCropandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/LinearLayoutandroid:idid/ll_cameraandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:gravitycenterTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text相机android:textColor#333333android:textSize20sp//LinearLayout!--TextView--!--android:layout_width200dp--!--android:layout_height1dp--!--android:background#838B8B--!--/--ImageViewandroid:srcdrawable/line_popandroid:scaleTypecenterCropandroid:layout_widthmatch_parentandroid:layout_heightwrap_content/LinearLayoutandroid:idid/ll_cancleandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:gravitycenterTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text取消android:textSize20sp//LinearLayout/LinearLayout View Code         最后 记得响应完点击事件之后  dismiss 关闭PopupWindow  转载于:https://www.cnblogs.com/demon9/p/6021980.html
http://www.pierceye.com/news/106985/

相关文章:

  • seo站长助手wordpress 注册侧边栏
  • 做网站是要编程吗那些网站是html5做的
  • 网站开发图在网站做电子画册
  • 怎样建一个英文网站wordpress 多用户商城
  • 制作一个自适应网站源码app在线生成器
  • Dw做html网站项目管理软件有哪些
  • 天津网站建设定制软件开发服务公司
  • 做企业网站cms减肥网站源码
  • 建设工程检测预约网站猎头公司怎么找
  • 北京网站手机站建设公司手机网站开发常用工具
  • 太原做网站联系方式论坛的网站开发项目
  • drupal 做的网站网站设计与网站制作
  • 我要表白网站在线制作wordpress朗读句子插件
  • 黑龙江建设网官方怎么提高seo关键词排名
  • 拍卖网站开发多少钱十堰秦楚网招聘公告
  • 区域城市分站网站怎么做慈溪网站开发
  • 广州天河网站制作互联网十创业项目
  • 百度是不是只有在自己的网站发布才会被收录完备的常州网站优化
  • 响应式网站开发需要的条件百度信息流广告推广
  • 英文网站建设推广joomla drupal wordpress
  • 什么网站做简历免费下载怎么申请专线访问国际网络
  • 南三环做网站的公司网站开发开题报告计划进度安排
  • 我想建一个网站怎么建微信 网站提成方案点做
  • 苏中建设集团官方网站网络推广文章的方法
  • 月嫂云商城网站建设切换国外ip的软件
  • 沧州网站建设 凯航怎么样建立一个网站
  • 百度网站地图模板在猪八戒上做网站要注意什么
  • 做美工需要哪些网站重庆交通建设集团网站
  • 网站手机端排名怎么做用笔记本做网站
  • 食药监局网站建设方案南京企业自助建站