Action Bar就是应用最上面的长方形横条,里面的内容一般是App图标、app的名字、菜单按钮、tab导航等
1、显示和隐藏ActionBar
xml方法:就是在manifest 里面设置application或者 activity 的theme属性就可以实现显示和隐藏(带NoActionBar的主题)
JAVA方法:首先getSupportActionBar 获得bar,然后调用hide 或者 show 方法即可
2、添加Action Item
和前面创建选项菜单基本是一样的步骤,只是定义菜单的 item的时候多了一个 showAsAction的属性,具体的属性值参考如下
3、添加Action View
就是往 ActionBar 上面添加组件
菜单资源文件示例如下:具体的view既可以通过类进行指定,也可以通过布局文件指定
说明
4、ActionBar & tab
只有 tab 导航的action bar的实现
步骤:建几个 fragment -->实现 tabListener -->MainActivity中添加tab到action bar
关键代码
//tabListener实现类部分代码 @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { if(fragment == null){ fragment = Fragment.instantiate(activity,clazz.getName()); fragmentTransaction.add(android.R.id.content,fragment,null); } fragmentTransaction.attach(fragment); } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { if(fragment != null){ fragmentTransaction.detach(fragment); } }
//mainActivity部分代码 ActionBar ab = getSupportActionBar(); ab.setDisplayShowTitleEnabled(false); ab.setNavigationMode(ab.NAVIGATION_MODE_TABS); ab.addTab(ab.newTab().setText("第一页"). setTabListener(new MyListener(AFragment.class,MainActivity.this))); ab.addTab(ab.newTab().setText("第二页"). setTabListener(new MyListener(BFragment.class,MainActivity.this))); ab.addTab(ab.newTab().setText("第三页"). setTabListener(new MyListener(CFragment.class,MainActivity.this)));
5、实现层级式导航
原理
不是通过intent来实现返回的 activity 跳转
本质是设置父 Activity 集合Action Bar 的功能来实现返回
关键代码
<activity android:name=".BActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"></meta-data> </activity>
//子Activity代码 if(NavUtils.getParentActivityName(this) != null){ //这里是开启 ActionBar 的返回的图标 getSupportActionBar().setDisplayHomeAsUpEnabled(true); }
1.Toast显示消息提示框
2.AlertDialog实现对话框(四种)
我准备了一些面试的知识汇总,数据结构,计算机网络等等都有。自己整理和分类的,还请尊重知识产出。
分享给大家的资料包括高级架构技术进阶脑图、Android开发面试专题资料,还有高级进阶架构资料包括但不限于【高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术】希望能帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也是可以分享给身边好友一起学习的!