美文网首页
ToolBar学习使用

ToolBar学习使用

作者: 难得糊涂与君勉 | 来源:发表于2017-02-15 10:32 被阅读35次
    • 介绍
      类似于ActionBar,但是不同于ActionBar只能位于活动的顶部,它的灵活性很高,可以配合其他控件来完成一些
      其它Material Design 效果。
    • 使用
      第一步:先取消ActionBar

    方式一:通过使用android中自带的主题,
    Theme.AppCompat.NoActionBar(深色主题,界面主题颜色为深色,陪衬颜色为淡色)
    Theme.AppCompat.Light.NoActioinBar(淡色主题,界面主题颜色为淡色,陪衬颜色为深色)
    方式二:通过修改android中的主题
    可以通过加上如下两句话就可以修改了,在现在主题中重写修改:
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>

    第二步:
    在需要使用的布局中,如下书写:
    

    <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    //表示高度是ActionBar的高度
    android:background="?attr/colorPrimary"
    //背景颜色是colorPrimary 使用系统中自己带的颜色
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    //给Toolbar设置自己的主题
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    //将Toolbar上可能弹出的菜单样式指定新的主题,
    >

    第三步:
    在代码中使用
    
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    
    第四步:
    往上面添加一些action动作
    

    修改标题栏目上的文字内容
    只需在所在的activity上面添加:
    android:label="你想要的文字" //一般默认使用的是application中指定的label内容

    添加一些action按钮;
    先建立menu文件夹,在右击建立自己的菜单文件。
    <item android:id="@+id/backup"
    android:icon="@mipmap/ic_launcher"
    android:title="backup"
    app:showAsAction ="always"/> //这个属性表示,always表示永远显示在toolbar中,如果屏幕空间不够就不显示
    <item
    android:id="@+id/delete"
    android:icon="@mipmap/ic_launcher"
    android:title="delete"
    app:showAsAction="ifRoom"/> //屏幕空间足够的情况下显示在Toolbar中,不够的话就在菜单中
    <item
    android:id="@+id/settings"
    android:icon="@mipmap/ic_launcher"
    android:title="settings"
    app:showAsAction = "never" //表示永远都在菜单中,
    />
    上述所示就是建立了三个action按钮。Toolbar中的action按钮只会显示图标,菜单中的action按钮只会显示文字。

    将菜单文件加载出来
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.toolbar,menu); //将菜单文件加载出来
    return true;
    }

    给菜单上action添加点击事件
    

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
    case R.id.backup:
    Toast.makeText(this,"你点击了backup这个按钮",Toast.LENGTH_SHORT).show();
    break;
    case R.id.delete:
    Toast.makeText(this,"你点击了delete这个按钮",Toast.LENGTH_SHORT).show();
    break;
    case R.id.settings:
    Toast.makeText(this,"你点击了settings这个按钮",Toast.LENGTH_SHORT).show();
    break;
    }
    return true;
    }

    - 代码中的调用
    
        toolbar.setNavigationIcon(R.mipmap.ic_launcher);
        //设置上之后可以在label左边加上一个图像icon
        toolbar.setTitleTextColor(getResources().getColor(android.R.color.holo_red_dark));
       //可以单独设置title的文本的颜色
    

    相关文章

      网友评论

          本文标题:ToolBar学习使用

          本文链接:https://www.haomeiwen.com/subject/mqhgittx.html