ActionBar的使用,设置和自定义
来源:互联网 发布:html源码模板 编辑:程序博客网 时间:2024/05/17 06:39
前言
ActionBar是我们google在3.0以后推出的推荐使用的标题栏,它灵活多变,非常好用,现在我们就来一起学习下吧。
配置主题
要想使用ActionBar,必须在主题里配置使用ActionBar的主题(可以在单个的Activity中配置,也可以在Application中配置),@style/Theme.AppCompat的子类,除了NoActionBar的,或者直接使用系统默认的AppTheme
xml文件配置
id,不用说了
title是设置选项的名字
showAsAction是定义此item在ActionBar中的位置,常用的有
- never 永远不会在标题栏上直接显示,必须手动点击菜单才会显示
- ifRoom 如果有空间就会在标题栏上显示,如果没有就需要手动点击菜单才会显示
- always 永远都在标题栏显示
这里需要说一下:标题栏的菜单按钮,如果你的手机没有自带菜单按钮,那么在标题栏的最右边就会有3个竖直排列的小点;如果你的手机自带了,那么菜单按钮就是你手机上自带的那个
####orderInCategory:决定每个Item的次序
代码中加载菜单文件
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return super.onCreateOptionsMenu(menu); }
代码中设置点击事件
@Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); switch (itemId){ case R.id.setting1: Toast.makeText(NormalActionBarActivity.this, "设置1", Toast.LENGTH_SHORT).show(); break; case android.R.id.home: Toast.makeText(NormalActionBarActivity.this, "我是Home", Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); }
android.R.id.home是系统默认的最左边的图标
在代码中设置ActionBar
ActionBar supportActionBar = getSupportActionBar(); if (supportActionBar == null) { return; } supportActionBar.setTitle("标题");//设置标题 supportActionBar.setIcon(R.mipmap.ic_launcher);//设置图标 supportActionBar.setDisplayShowTitleEnabled(true);//是否隐藏标题 supportActionBar.setDisplayShowHomeEnabled(true); //是否隐藏左侧的图标 supportActionBar.setDefaultDisplayHomeAsUpEnabled(true); //是否隐藏最左边的返回键,在API23上我没有显示出来,也不知道为什么
注意:如果你的Activity继承的是ActionBarActivity或者是AppCompatActivity那么就要getSupportActionBar(),否则获取不到ActionBar
自定义标题栏
ActionBar提供了自定义标题栏样式的方法,而且也非常简单
mActionbar.setCustomView(R.layout.activity_middleactionbar);mActionbar.setDisplayShowCustomEnabled(true); mActionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
你只需要写好布局文件就可以得到你想要的样式了
鉴别是否是ActionBar的方法
长按标题栏的按钮,如果会弹出提示框,那么就是ActionBar;如果没有那么就是自定义的布局
结语
应该是我第一次写原创的文章吧,写得不好多多见谅,可以留言提问。另外,希望看到的人都来写博客吧,对自己可以加深理解,还可以方便他人。
0 0
- ActionBar的使用,设置和自定义
- actionbar和actionbar上title的颜色设置
- Android自定义系统分享UI,不使用系统的Dialog和Actionbar,完全自定义
- Android actionbar Menu 和 overflow的自定义
- 自定义的标题栏和隐藏ActionBar
- ActionBar设置自定义setCustomView()留有空白的问题
- android自定义的actionbar
- 自定义ActionBar的样式
- 自定义Actionbar的风格
- 自定义ActionBar的风格
- 自定义actionBar的样式
- ActionBar的优化自定义
- 设置ActionBar的颜色
- 有关actionbar的设置
- 关于ActionBar的使用和错误处理
- ActionBar中setHomeButtonEnabled和setDisplayHomeAsUpEnabled的使用
- DrawerLayout,NavigationView 和 ActionBar的使用
- actionBar和DrawerLayout的使用(抽屉布局)
- mybatis generator StringIndexOutOfBoundsException异常
- [iOS开发]日常需求一:Xcode7、iOS9设置Http网络请求(不能使用Http的解决办法)
- win7 64位安装mongdb2.6.12 多图详细
- I Hate It
- storm使用redis池与长链接的区别
- ActionBar的使用,设置和自定义
- 怎么判断大小端呢?
- cookie的secure
- 一个网址 很不错的
- 二叉树的相关算法
- 国外科技媒体推荐点评
- Spring boot MVC: can't find JSP
- 一个很好的网址
- (第9讲)直接选择排序