商城项目实战 | 2.1 Android 仿京东商城——自定义 Toolbar (一)

前言

本文为菜鸟窝作者刘婷的连载。"商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现。

现在很多的 APP 里面都有自己的自定义风格,特别是京东商城中自定义的头部布局——自定义的 Toolbar 效果非常不错,看上去很美观,其效果图如下。

想要定义出这样的效果并不是很难,主要是要对控件的属性熟悉以及对控件的熟练使用,下面就先简单了解下 Toolbar 的基本属性以及简单使用。

什么是 Toolbar

1. Toolbar 的解释

Toolbar 是 android 5.0 引入的一个新控件,可以理解为是 ActionBar 的升级版,大大扩展了 Actionbar,使用更灵活,不像 actionbar 那么固定,Toolbar 更像是一般的View元素,可以被放置在 view 树体系的任意位置,可以应用动画,可以跟着 scrollView 滚动,可以与布局中的其他 view 交互。

2. Toolbar 的基本属性

1. xml style属性:

colorPrimaryDark:状态栏的颜色(可用来实现沉浸效果)。
colorPrimary: Toolbar 的背景颜色 (xml中用android:background=”?attr/colorPrimary”指定)。
android:textColorPrimary:Toolbar中文字的颜色,设置后Menu Item 的字体颜色也会跟随。
colorAccent:EditText 正在输入时,RadioButton 选中时的颜色。

2. xml 属性:

app:title=”App Title”:Toolbar 中的 App Title。
app:subtitle=”Sub Title” :Toobar 中的小标题。
app:navigationIcon=”?attr/homeAsUpIndicator” : 导航图标,比如返回图标(与 Logo 不同)。

Toolbar 的简单使用

1.首先在布局 layout 文件中写入引用代码。

 

1  <android.support.v7.widget.Toolbar
2         android:id="@+id/home_toolbar_main"
3         android:layout_width="match_parent"
4         android:layout_height="wrap_content"
5         android:minHeight="?attr/actionBarSize"
6         android:background="?attr/colorPrimary"
7         app:popupTheme="@style/AppTheme.PopupOverlay"
8         app:navigationIcon="?attr/homeAsUpIndicator"
9     </android.support.v7.widget.Toolbar>

 

2.然后在 Activity 中声明定义该控件,注意 Activity 必须是继承于 AppCompatActivity。

 1 toolbar=(Toolbar)findViewById(R.id.home_toolbar_main); 

3.声明定义之后还需要配置一下,设置 toolbar。

 1 setSupportActionBar(toolbar); 

4.添加标题。

 1 setTitle("首页"); 

5.最后只要设置 Application 的 Style —— AppTheme 和 Activity 的 Style —— AppTheme.NoActionBar 就可以了,因为已经有了 Toolbar 了,替代了 ActionBar,所以在 Activity 的 Theme 中需要设置为 windowActionBar 为 false。

 1 <!-- Base application theme. -->
 2     <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
 3         <!-- Customize your theme here. -->
 4         <item name="colorPrimary">@color/colorPrimary</item>
 5         <item name="colorPrimaryDark">@color/colorPrimary</item>
 6         <item name="colorAccent">@color/colorAccent</item>
 7     </style>
 8 
 9     <!-- activity theme. -->
10     <style name="AppTheme.NoActionBar">
11         <item name="windowActionBar">false</item>
12         <item name="windowNoTitle">true</item>
13     </style>

 6.效果图。

到这里 Toolbar 的基本使用就介绍完了,下一节中将会开始介绍如何自定义属于自己的 Toolbar。

 

posted @ 2017-04-24 14:31  LT5505  阅读(1292)  评论(0编辑  收藏  举报