Actionbar、菜单
来源:互联网 发布:淘宝吉他店铺推荐 编辑:程序博客网 时间:2024/05/21 05:18
例子
ActionBar可以使用onCreateOptionsMenu,和一个menu文件关联起来,也可以用setCustomView和一个布局关联,并且,以上2种方式是可以共存的
方式1我们称为menu方式,方式2我们称为customview方式。
对于menu方式来说,Actionbar上的每个按钮实际上都是一个菜单项MenuItem
对于menu式
代码如下
protected int getMenuRes() { return R.menu.menu_layout; } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(getMenuRes(), menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.broken) { Toast.makeText(this,"broken",Toast.LENGTH_SHORT).show(); return true; } return super.onOptionsItemSelected(item); }
对于customview式,代码如下
protected void initActionBar() { ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setCustomView(R.layout.activity_action_bar_custom_view); actionBar.setDisplayShowCustomEnabled(true); actionBar.setDisplayShowHomeEnabled(true); actionBar.setDisplayUseLogoEnabled(true); } }一般在oncreate里面调用
如图右边是menu方式,左边黄色部分是customview方式
先调的onCreate后调的onCreateOptionsMenu
module:ActionbarDemo5
activity_action_bar_custom_view.xml代码如下
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/custom_view_right_layout" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="right" android:background="#ffff00" android:orientation="horizontal"> <ImageView android:background="#ff0000" android:layout_marginRight="10dp" android:id="@+id/comment" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@drawable/comment" /> <ImageView android:background="#ff00ff" android:id="@+id/qrcode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@drawable/qrcode" /> <ImageView android:background="#0000ff" android:layout_marginRight="20dp" android:id="@+id/zone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@drawable/zone" /></LinearLayout>
这里 android:layout_gravity="right",所以这些ImageView都在右边,如果改为left,那么这些ImageView就会跑到左边,但是肯定在标题的右边,如下所示,这里为了显示的清楚,只采用了一个图标
注意
1、actionBar.setCustomView(View view, LayoutParams layoutParams)
第一个参数view一般是LinearLayout,如果用RelativeLayout会导致activity的标题无法显示,参考module:actionbaraddview
2、actionbar从左到右依次显示icon,标题,customview,menu图标
0 0
- Actionbar、菜单
- ActionBar 下拉菜单
- 菜单仿(ActionBar)
- ActionBar 显示选项菜单
- ActionBar中添加菜单
- 菜单 和ActionBar
- 修改Actionbar菜单字体大小
- ActionBar和menu菜单
- android actionbar 添加菜单
- ActionBar中的下拉菜单操作
- 动态改变ActionBar菜单项
- ActionBar中的下拉菜单操作
- ActionBar中的下拉菜单操作
- ActionBar中的下拉菜单操作
- ActionBar屏蔽实体菜单键
- 【Android】actionbar显示选项菜单
- ActionBar中的下拉菜单操作
- ActionBar中的下拉菜单操作
- Gradle学习系列之九——自定义Task类型
- <数据结构学习与实验指导>3-3银行业务队列模拟/3-4一元多项式的乘法与加法运算
- 持续部署,并不简单!
- 读取so文件信息工具——readelf
- Android笔记三十四.Service综合实例二
- Actionbar、菜单
- 欧美国家的电子商务起步比我国早得很多年,目前我国旅游电商,虽然已成雏形,但尚不能称之为真正实现了电子商务化(互联网+),这主要体现在信息实时性、平台预订和支付方式三个方面。随着市场的成熟和技术研发的进
- 剑指offer 59 - 对称的二叉树
- Gradle学习系列之十——自定义Plugin(本系列完)
- live555源代码分析
- Git在协同开发中的使用经验分享
- query_posts()的参数使用方法
- 持续集成(第二版)
- IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法