MaterialDesign-Toolbar(五)
来源:互联网 发布:选购笔记本 知乎 编辑:程序博客网 时间:2024/06/05 15:43
Toolbar
Toolbar与actionbar最大的区别就是Toolbar更自由
1.添加依赖compile 'com.android.support:appcompat-v7:25.0.+'2.设置主题为noactionbar<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!--Toolbar颜色--> <item name="colorPrimary">@android:color/holo_blue_bright</item> <!--状态栏颜色--> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <!--窗口背景颜色--> <item name="android:windowBackground">@android:color/holo_purple</item> <item name="colorAccent">@color/colorAccent</item> <!--搜索图标--> <item name="android:searchViewStyle">@style/MySearchView</item></style><style name="MySearchView" parent="Widget.AppCompat.SearchView"/>3.在xml布局中创建Toolbar控件 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:background="?android:colorPrimary" //设置背景颜色 app:theme="@style/ToolbarTheme"//注意上一行就变为无效了 android:layout_width="match_parent" android:layout_height="wrap_content"> //在style中创建单独的主题</android.support.v7.widget.Toolbar> <style name="ToolbarTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!--为toolbar设置单独的主题--></style>4.在代码中将其设置为ActionBar Toolbar toorbar = (Toolbar) findViewById(R.id.toolbar); toorbar.setTitle("hello world"); toorbar.setSubtitle("你好师姐"); toorbar.setLogo(R.mipmap.ic_launcher); setSupportActionBar(toorbar);
自定义Toolbar上面的布局
到这一步,toolbar的样式基本展现,但并没有通常我们看到的右上角的三个点以及搜索框
1.创建res/memu/toolbar_layout.xml<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/action_bar_menu" android:layout_width="match_parent" android:layout_height="match_parent"><item android:id="@+id/search" android:icon="@drawable/time1" android:title="search" //ifroom如有控件则显示 always总是 collapseActionView折叠 app:showAsAction="ifRoom"/><item android:id="@+id/copy" android:icon="@drawable/time2" android:title="copy" app:showAsAction="ifRoom" /><item android:id="@+id/cut" android:title="cut" app:showAsAction="never"/></menu>2.复写onCreateOptionsMenu(Menu menu)@Overridepublic boolean onCreateOptionsMenu(Menu menu){ //获取inflater MenuInflater menuInflater = getMenuInflater(); //布局代码化,通过这一步,布局将展示在toolbar上 menuInflater.inflate(R.menu.toolbar_menu, menu); MenuItem item = menu.findItem(R.id.search); //折叠后显示的标题 item.setTitle("你瞅啥"); //设置点击事件监听 item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { Toast.makeText(getApplicationContext(),""+item.getTitle(),Toast.LENGTH_SHORT).show(); return true; } }); MenuItem item2 = menu.findItem(R.id.copy); item2.setTitle("瞅你乍滴"); return super.onCreateOptionsMenu(menu);}
DrawerLayout的使用
<!--官方说明,最好设置为根布局,否则有可能出现滑动事件冲突--><android.support.v4.widget.DrawerLayout android:id="@+id/drawer" android:layout_width="match_parent" android:layout_height="match_parent"> <!--屏幕主页面--> <LinearLayout android:background="#888888" android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout> <!--侧滑页面,必须设置layout_gravitiy属性--> <LinearLayout android:orientation="vertical" android:id="@+id/ll_cehua" android:background="#ff0000" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" > </LinearLayout></android.support.v4.widget.DrawerLayout>
Toolbar和Drawerlayout的联合使用
//设置左上角的图标是否可以点击 getSupportActionBar().setDisplayHomeAsUpEnabled(true); //创建一个toggle对象,就是左上角那三条杠 ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toorbar, R.string.app_name, R.string.app_name); //设置侧滑菜单打开时,同步改变图标 toggle.syncState(); drawer.setDrawerListener(toggle);
阅读全文
0 0
- MaterialDesign-Toolbar(五)
- MaterialDesign ToolBar
- MaterialDesign 之 ToolBar学习
- MaterialDesign的Toolbar以及Drawerlayout
- 浅谈MaterialDesign之toolbar的简单使用
- Android开发丶MaterialDesign实战のToolbar
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- 一步步走进Android MaterialDesign 之 ToolBar动画效果(1)
- 一步步走进Android MaterialDesign 之 ToolBar动画效果(2)
- MaterialDesign设计风格之自定义toolbar的简单实现
- MaterialDesign学习篇(二),Toolbar、DrawerLayout的使用
- MaterialDesign学习篇(五),使用SearchView的正确姿势
- 利用重写url机制简单实现验证码换一张的功能
- Java日期时间
- JVM垃圾回收
- 启动保护模式的程序
- 【LeetCode】String-to-int
- MaterialDesign-Toolbar(五)
- [职业生涯之关于创业与打工]由小摊生意联想到的
- CSU 1563 Lexicography (搜索+组合数)
- 数据结构导论
- hdu 1873 (优先队列)
- Birthday Paradox
- 模板——快速幂
- rapidjson中string使用的一点小坑
- Java构建工具, ZeroC ICE, word2vec