码迷,mamicode.com
首页 > 移动开发 > 详细

Android 最新控件 Toolbar

时间:2015-07-21 12:57:50      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

之前Android的ActionBar好像做项目从没用过,除了google自己,并没有多少人用,究其原因,主要是因为ActionBar不够灵活,不能够随心所欲的定制,后来Goole也发现了这一点,然后,就诞生了今天的主角ToolBar,Toolbar是一个新出的控件,用来代替ActionBar,它本身是一个ViewGroup,所以有良好的可定制性,例如,你可以在里面防止布局,LinearLayout等,现在开始代码吧。

为了兼容底版本,所以要使用V7包中的ToolBar, android.support.v7.widget.Toolbar 这是全名,首先要在gradle中加一句

技术分享

然后再value中设置主题 去掉Actionbar

    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimaryDark">#7B1FA2</item>
        <item name="colorPrimary">#9C26B0</item>
        <item name="colorAccent">#ff4081</item>
        <item name="android:textColorPrimary">#fffdfbff</item>
    </style>
还有value12的主题


   <style name="AppTheme" parent="AppBaseTheme">
            <item name="android:statusBarColor">#7B1FA2</item>
        </style>

现在就可以使用toolebar了

这是我的主布局代码:

<LinearLayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/id_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        app:title="试一下">


        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/abc_text_size_title_material"
            android:gravity="center"

            android:orientation="vertical">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="线性布局" />


            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </LinearLayout>

    </android.support.v7.widget.Toolbar>


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/abc_text_size_title_material"
        android:text="@string/hello_world" />


</LinearLayout>




Activity代码

package com.example.liran.workspace1;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toolbar;


public class MainActivity extends AppCompatActivity {

private android.support.v7.widget.Toolbar toolbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.id_toolbar);
         toolbar.setLogo(R.mipmap.ic_launcher);
         toolbar.setSubtitle("subtitle");
         toolbar.setNavigationIcon(R.mipmap.ic_launcher);

    }






    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

这里要注意,Activity要继承AppcompatActivity,这个是最新的api推荐的。下面是运行效果和属性说明。


技术分享

这样就结束了


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 最新控件 Toolbar

标签:

原文地址:http://blog.csdn.net/qq997843911/article/details/46982071

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!