ToolBar代替Actionbar在AppCompatActivity的使用
2016-05-08 23:23
489 查看
新api推荐带ActionBar的Activity,继承AppCompatActivity 处理标题栏
导入项目工具包。兼容包:
1 .需要给Activity设置主题 无Actionbar即可
2.用toolbar代替Actionbar
在代码中转成Actionbar:
获取Actionbar:(这里给Actionbar设置了一个home id的属性)
因为Toolbar 已经加入到Activity 中了,因此上下文菜单布局,是可以显示到标题栏中的!:
为菜单内容设置菜单项:
3为标题栏设置点击事件:
(android.R.id.home 这个ID 对应上面为Actionbar设置home id 的方法和图标)
最后 写一个复用性高的toolbar对自己身体好:
导入项目工具包。兼容包:
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:support-v13:23.3.0'
1 .需要给Activity设置主题 无Actionbar即可
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
2.用toolbar代替Actionbar
<android.support.v7.widget.Toolbar android:id="@+id/bmtool_bar" android:layout_width="match_parent" android:layout_height="wrap_content" > </android.support.v7.widget.Toolbar>
在代码中转成Actionbar:
tb= (android.support.v7.widget.Toolbar) findViewById(R.id.bmtool_bar);
setSupportActionBar(tb);
获取Actionbar:(这里给Actionbar设置了一个home id的属性)
ActionBar ab=getSupportActionBar(); if(ab!=null){ ab.setHomeAsUpIndicator(R.drawable.menu_home); ab.setDisplayHomeAsUpEnabled(true); }
因为Toolbar 已经加入到Activity 中了,因此上下文菜单布局,是可以显示到标题栏中的!:
public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater=getMenuInflater(); menuInflater.inflate(R.menu.menu_main,menu); return true; }
为菜单内容设置菜单项:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" tools:context="com.cuizehui.Actitys.HomeActivity"> <item android:id="@+id/more" android:title="更多" android:icon="@drawable/ic_drag" app:showAsAction="always" android:orderInCategory="100"/> </menu>
3为标题栏设置点击事件:
public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case R.id.more: mMenuDialogFragment.show(fragmentManager,ContextMenuDialogFragment.TAG);//这是一个插件!! break; case android.R.id.home: finish(); } return super.onOptionsItemSelected(item); }
(android.R.id.home 这个ID 对应上面为Actionbar设置home id 的方法和图标)
最后 写一个复用性高的toolbar对自己身体好:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/colorPrimaryDark" app:titleTextColor="@android:color/white" android:fitsSystemWindows="true" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
相关文章推荐
- Adnroid多媒体---图片
- 详解Android中Drawable方法
- Android固定屏幕
- Android中添加和识别手势操作
- Android Fragment 真正的完全解析(上)
- 在SD卡读写
- ISO swift代码 第一个
- Android:Android涉及到的设计模式
- 论Android应用进程长存的可行性
- Android基础学习(一)——回调
- Android官方文档之App Components(Tasks and Back Stack)
- Android自定义WheelView的40行关键代码
- External file changes sync may be slow Native file wathcher is not executable
- Android中几种图像特效处理的集锦!!
- Android使用addView动态添加组件
- 第三讲 微信商城云服务器后台创建
- 关于Android开机启动的小坑
- android开发之路之一--坚持写博客
- AndroidStudio中导入module(超详细)
- 微信入坑第一弹【微信接口配置】