小说网站 搜小说 无限网 烟雨红尘 小说爱好者 免费小说 免费小说网站

Android5.0特性ToolBar

>Toolbar是什么?大概说一下它的官方介绍。Toolbar是应用的内容的标准工具栏,`可以说是Actionbar的升级版`,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯上关系的。相比Actionbar Toolbar最明显的一点就是变得很`自由,可随处放置`,因为它是作为一个`ViewGroup来定义使用的`,所以单纯使用ActionBar已经稍显过时了,它的一些方法已被标注过时。

步骤如下:

1.引入v7包,去除actionBar
     
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
    </style>
2.创建ToolBar的布局

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ff0000">

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

3.使用toolbar
    
    //布局中使用
    <include layout="@layout/include_toolbar"></include>
    //写代码
    mToolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(mToolbar);//这个方法是在ActionBarActivity里面,对应的Activity需要继承actionBarActivity


全部代码如下:

style代码:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
    </style>

</resources>

2.创建ToolBar的布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ff0000">

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

3.使用toolbar

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.itydl.toolbar.MainActivity">

    <include
        android:id="@+id/toobar"
        layout="@layout/include_toolbar"></include>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"/>
</LinearLayout>

4看主活动代码:

package com.itydl.toolbar;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;

public class MainActivity extends ActionBarActivity {

    private Toolbar mToolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mToolbar = (Toolbar) findViewById(R.id.toobar);

        //toobar替换actionbar
        setSupportActionBar(mToolbar);
    }
}

接下来再加入测拉功能。在上边的基础上稍作修改就好了。

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.itydl.toolbar.MainActivity">

    <!--引入toolbar-->
    <include
        android:id="@+id/toobar"
        layout="@layout/include_toolbar"></include>

    <!--DrawerLayout加入测拉菜单-->
    <android.support.v4.widget.DrawerLayout
        android:id="@+id/main_drawer_drawerlayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!--主界面,使用帧布局-->
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#59cfbe">

        </FrameLayout>

        <!--左侧测拉界面,使用帧布局-->
        <FrameLayout
            android:layout_gravity="left"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#5bcf59">

        </FrameLayout>

    </android.support.v4.widget.DrawerLayout>
</LinearLayout>
主活动代码:

package com.itydl.toolbar;

import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.widget.Toolbar;

public class MainActivity extends ActionBarActivity {

    private Toolbar mToolbar;
    private DrawerLayout mDrawerLayout;
    private ActionBarDrawerToggle mToggle;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initDrawerLayout();
    }

    private void initDrawerLayout() {
        //加入DrawerLayout的步骤。

        mToggle = new ActionBarDrawerToggle(this,mDrawerLayout, R.string.open,R.string.close);

        //同步状态
        mToggle.syncState();

        //设置监听
        mDrawerLayout.setDrawerListener(mToggle);
    }

    private void initView() {
        mToolbar = (Toolbar) findViewById(R.id.toobar);
        //toobar替换actionbar
        setSupportActionBar(mToolbar);

        //获取DrawerLayout布局
        mDrawerLayout = (DrawerLayout) findViewById(R.id.main_drawer_drawerlayout);
    }

}
运行程序:


posted on 2016-11-03 11:02  王小航  阅读(119)  评论(0编辑  收藏  举报

导航