Toolbar 使用和学习

在学习转场动画之前,我想要用Toolbar

  <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?actionBarSize">
    </android.support.v7.widget.Toolbar>

Toolbar,已经可以可以兼容到低版本,在查Toolbar 使用过程中经常可以看到,除了在工程的values/styles.xml,来设置主题:


    <!-- Base application theme. -->
    <style name="AppTheme" parent="AppTheme.Base">

        <!--状态栏的颜色-->
        <item name="colorPrimary">#4285F4</item>

        <!-- colorPrimary  状态栏的颜色 -->
        <item name="colorPrimaryDark">#000000</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>


    <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">

    </style>

还会建议新建一个values-v21/styles.xml,一看就是5.0之上用的,但是如果不新加一个values-v21一样运行没有问题,就算新建values-v21/styles.xml

    <style name="AppTheme" parent="AppTheme.Base">

        <!--状态栏的颜色-->
        <item name="colorPrimary">#4285F4</item>

        <!-- colorPrimary  状态栏的颜色 -->
        <item name="colorPrimaryDark">#607496</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

在应用在5.0之上系统运行的时候会优先运行values-v21/styles.xml,主题颜色,那我是不是可以得出一个结论不用values-v21/styles.xml,毕竟管理起来不方便。先这样结论,以后发现了再来改。


在网上查到一些资料,toolbar 初始化需要加入


        //设置导航图标要在setSupportActionBar方法之后
        setSupportActionBar(toolbar);

只有是MainActivity 继承AppCompatActivity ,才需要这样初始化,继承普通的,比如FragmentActivity,之类的不需要这样做,况且也没有setSupportActionBar()这个方法

Toolbar 使用

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:background="@color/toolbar_colorPrimary"
        app:title="Toolbar"
        app:titleTextColor="@color/toolbar_textColor"
        app:navigationIcon="@android:drawable/btn_dialog"
        app:subtitleTextColor="@color/toolbar_textColor"
        app:subtitle="子标题"
        android:layout_height="?actionBarSize">
      app:title="Toolbar"//标题
        app:titleTextColor="@color/toolbar_textColor"//标题颜色设置
        app:navigationIcon="@android:drawable/btn_dialog"//返回按钮设置
        app:subtitleTextColor="@color/toolbar_textColor"//子标题设置颜色
        app:subtitle="子标题"//子标题
    代码设置logo
   toolbar.setLogo(R.mipmap.ic_launcher);

返回按钮的点击事件:

        Toolbar  toolbar= (Toolbar) findViewById(R.id.toolbar);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                activity.finish();
            }
        });

自定义Toolbar

Toolbar下面可以嵌套布局,直接将自己定义好的布局放到Toolbar下面即可

<android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            ......
            </RelativeLayout>
    </android.support.v7.widget.Toolbar>

这个图在设置主题对应不同颜色,很有意义

这里写图片描述


效果:

这里写图片描述

我的想法:

在这边文章中,我只是简单的学习了一个Toolbar的使用和了解,在实际开发过程中,APP的设计标准都是以Ios 设计标准来的,虽然5.0后谷歌开始统一了标准,有了一套自己的模板开发标准,但是无疑来了晚了一些,Toolbar标准的谷歌设计模板结构,在实际开发中很难用到,所以我们如果要用Toolbar,来开发,估计需要自定义了。


参考大神:
http://blog.csdn.net/hanj456/article/details/53579608
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2006.html
http://www.jianshu.com/p/e9130d31ee1f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值