Toolbar使用总结
来源:互联网 发布:录制视频软件下载 编辑:程序博客网 时间:2024/06/06 00:42
概述:
Toolbar使用了一段时间,中间也遇到了不少的问题,也查找了不少资料和博客,在这里做一个总结,方便以后查找。
具体使用:
因为Toolbar是为了替代Actionbar而新出的控件,所以为了兼容低版本,一般是使用v7包中的android.support.v7.widget.Toolbar。然后设置程序的主题样式,在style里先把actionBar去掉。具体如下:
<style name="AppTheme" parent="Theme.AppCompat.DayNight"> <!--标题栏的颜色--> <item name="colorPrimary">@color/colorPrimary</item> <!--状态栏的颜色--> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <!--导航栏上的标题颜色--> <item name="textColorPrimary">@color/colorPrimary</item> <!--Activity窗口的颜色--> <item name="windowBackground">@color/material_blue_grey_800</item> <!--控件的选中颜色,即checked或selected状态的颜色。--> <item name="colorAccent">@color/colorAccent</item> <!--和 colorAccent相反,正常状态下按钮的颜色--> <item name="colorControlNormal">#ff0000</item> <!--Button按钮正常状态颜色--> <item name="colorButtonNormal">@color/accent_material_light</item> <!--EditText 输入框中字体的颜色--> <item name="editTextColor">@android:color/white</item></style><style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item></style>
具体代表的可以参考下图:
以上是对项目整体的设置,这里可以对Toolbar做一些定制修改,比如右上角的那个图标修改一下,弹出的更多的条目的样式与位置都可以设置。
Toolbar 上menu设置,首先在menu目录下新建menu_main.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity" > <item android:id="@+id/action_search" android:orderInCategory="80" android:title="action_search" android:icon="@drawable/abc_ic_search_api_mtrl_alpha" app:showAsAction="ifRoom"/> <item android:id="@+id/action_login" android:title="@string/menu_main_please_login" android:icon="@drawable/home_menu_0" app:showAsAction="never" /> <item android:id="@+id/action_my_message" android:title="@string/menu_main_my_message" android:icon="@drawable/home_menu_1" app:showAsAction="never" /></menu>在Activity中设置
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(getLayoutId());setSupportActionBar(tool);}
@Overridepublic boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true;}
Toolbar上Menu样式设置 在布局文件中设置 android:theme="@style/Theme.ToolBar.Menu"// 点击Menu的处理方法
public boolean onOptionsItemSelected(MenuItem item){}
<style name="Theme.ToolBar.Menu" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <!-- 设置-弹窗的背景-颜色--> <item name="android:colorBackground">@color/common_bg</item> <!-- 字体的颜色--> <item name="android:textColor">@color/common_h1</item> <!-- 字体大小--> <item name="android:textSize">16sp</item> <!-- 用于替换菜单的三个小白点,换成自已的图片--> <item name="actionOverflowButtonStyle">@style/ActionButton.Overflow.Menu</item> <!--用于控制menu弹出的位置,位于toolbar的下面,而不是上面--> <item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item> <!-- 用于修改item默认的分割线--> <item name="android:dropDownListViewStyle">@style/dropDownStyle</item> <item name="dropDownListViewStyle">@style/dropDownStyle</item></style><style name="ActionButton.Overflow.Menu" parent="android:style/Widget.Holo.Light.ActionButton.Overflow"> <item name="android:src">@drawable/icon_plus</item></style><style name="OverflowMenuStyle" parent="Widget.AppCompat.Light.PopupMenu.Overflow"> <!--把该属性改为false即可使menu位置位于toolbar之下--> <item name="overlapAnchor">false</item> <!--弹框水平方向右边的距离--> <item name="dropDownHorizontalOffset">5dp</item> <!--弹框竖直方向上边的距离--> <item name="android:dropDownVerticalOffset">5dp</item></style><!--用于修改popmenu的分割线--><style name="dropDownStyle" parent="android:style/Widget.Holo.ListView.DropDown"> <item name="android:listSelector">@drawable/touch_bg</item> <item name="android:divider">@color/common_divider_narrow</item> <item name="android:dividerHeight">0.5dp</item></style>
以上就是Toolbar的使用总结了。
1 0
- Toolbar的使用总结
- Android ToolBar 使用总结
- Android ToolBar使用总结
- Toolbar使用总结
- Android Toolbar 使用总结
- 关于ToolBar的使用总结
- ToolBar和SearchView的使用总结
- android:ToolBar和SearchView的使用总结
- ToolBar和SearchView的使用总结
- Toolbar总结
- toolbar 使用
- Toolbar 使用
- Toolbar使用
- Toolbar使用
- Toolbar使用
- toolbar使用
- ToolBar 使用
- android toolbar 开发总结
- PyQt学习笔记(11)--QTreeWidget
- Hadoop集群完全分布式搭建教程-CentOS
- ajax瀑布流
- android调用系统播放器后返回的图片旋转了
- C++ template可变参数的一次尝试
- Toolbar使用总结
- Oracle 的 SQL语句中 decode()函数
- mangoDB学习笔记(二)查询
- Hadoop单机模式和伪分布式搭建教程CentOS
- AndroidStudio的常用快捷键
- HTML 第六章----------- 制作聚美优品热点产品列表
- 数据库建表原则
- 深度行研:危机四伏的传统健身馆,如何杀出一条血路
- live555MediaServer搭建RTSP服务器