• 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);
        }
    
    }
    
    运行程序:


  • 相关阅读:
    Linux内核的总结认识
    服务器的基本问题避免
    Linux中多线程信号的处理
    gdb调试
    TCP数据包的封包和拆包
    网络TCp数据的传输设计(黏包处理)
    InputArray和OutputArray
    UTF8转unicode说明
    C++使用标准库的栈和队列
    resize函数有五种插值算法
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299529.html
Copyright © 2020-2023  润新知