通过本篇可以了解到:
1.什么是ToolBar
2.ToolBar 的一些重要属性
3.如何自定义ToolBar
首先我们来看看实现的效果:
其实实现上面的toolbar也是很简单的哈,这里我们就来实现以下吧。
什么是toolbar
首先我们先来看看toolbar的一个解释:
One or more custom views. The application may add arbitrary child views to the Toolbar. They will appear at this position within the layout. If a child view's Toolbar.LayoutParams indicates a Gravity value of CENTER_HORIZONTAL the view will attempt to center within the available space remaining in the Toolbar after all other elements have been measured.
一个或多个自定义视图。该应用程序可以添加任意的孩子欣赏到工具栏。他们将出现在布局中的这个位置。如果一个子视图的Toolbar.LayoutParams表示CENTER_HORIZONTAL的重力值的视图将尝试所有其他元素都被测量后留在工具栏上的可用空间内中心。(用的是google翻译,哈哈,大致能懂啥意思就行,我的英文可不太好哦)
- toolbar 是 android 5.0 引入的一个新控件,可以理解为是ActionBar的升级版,大大扩展了Actionbar,使用更灵活,不像actionbar那么固定,Toolbar更像是一般的View元素,可以被放置在view树体系的任意位置,可以应用动画,可以跟着scrollView滚动,可以与布局中的其他view交互
使用方式:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" >
</android.support.v7.widget.Toolbar>
ToolBar 的一些重要属性
xml style属性:
- colorPrimaryDark:状态栏的颜色(可用来实现沉浸效果)
- colorPrimary: Toolbar的背景颜色 (xml中用android:background=”?attr/colorPrimary”指定)
- android:textColorPrimary:Toolbar中文字的颜色,设置后Menu Item的字体颜色也会跟随
- colorAccent:EditText正在输入时,RadioButton选中时的颜色
xml 属性:
- app:title=”App Title”:Toolbar中的App Title
- app:subtitle=”Sub Title” :Toobar中的小标题
- app:navigationIcon=”@android:drawable/ic_menu_sort_by_size” : 导航图标(注意和Logo的区别)
自定义ToolBar
接下来就看看这个自定义的toolbar吧,在这也不做多解释,里面解释的还可以吧。
package com.example.ruolan.letgo.widget;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v7.internal.widget.TintTypedArray;
import android.support.v7.widget.Toolbar;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import com.example.ruolan.letgo.R