zoukankan      html  css  js  c++  java
  • ToolBar的美化

    谷歌提出的 Material Design,字面上的意思就是材料的绘制(我理解为就是怎么界面做的好看),但是他还有属于自己的空间和效果, 它提供了一个Design Support库,对一些常用的效果和控件进行封装。

    使用Material Design 就要隐藏掉默认的ActionBar,修改软件的主题显示样式,就在style,xml文件里面,替换掉下面这句,这句parent和面跟的就是隐藏ActionBar的主题,

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

    加入ToolBar

      <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"//和原有Bar一样高
                    android:background="?attr/colorPrimary"
                    android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"//指定ToolBar主题
                    app:layout_scrollFlags="scroll|enterAlways|snap" /><!--Toobar在APPBarlayout中添加这个属性ToolBar会跟着主题内容上滑隐藏,下划出现-->

    在ToolBar上添加action按钮,在res目录,新建Directory文件夹(menu),创建一个yoolbar.xml文件,showAsAction属性是设置按钮的显示,always永远显示在Toolbar 中,屏幕空间不够则不显示,ifRoom表示屏幕有足够空间句显示,否则就显示在菜单中,nerve表示永远显示在菜单中,

    注:ToolBar中的action只会显示图标。而action按钮只会显示文字。

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <item
            android:id="@+id/backup"
            android:icon="@drawable/b"
            android:title="返回"
            app:showAsAction="always" />
        <item
            android:id="@+id/delete"
            android:icon="@drawable/a"
            android:title="删除"
            app:showAsAction="ifRoom" />
        <item
            android:id="@+id/settings"
            android:icon="@drawable/th_qq"
            android:title="设置"
            app:showAsAction="never" />
    </menu>

    在主函数中设置
    并且重写onCreateOptionsMenu()方法,添加空间到ToolBar

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
      @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.toolbar, menu);
            return true;
        }
  • 相关阅读:
    leetcode刷刷刷
    素数问题
    TCP/IP详解(整理)
    关于区块链应用方向与前景的一些思考
    设计模式
    面经中的各种问题汇总
    基于消逝时间量的共识机制(POET)
    c++语言知识点汇总
    二叉树前中后/层次遍历的递归与非递归形式(c++)
    layui表格搜索数据登录失效后的处理
  • 原文地址:https://www.cnblogs.com/zhoushenglei/p/7222356.html
Copyright © 2011-2022 走看看