zoukankan      html  css  js  c++  java
  • 第三十篇-ToolBar的使用

    效果图:

    创建标题栏,将原本的Title隐藏,并在菜单栏中设置选项。

    一、拖入一个ToolBar组件,并在res/values/styles.xml中将原本的标题栏隐藏,添加<item name="windowNoTitle">true</item>

    二、设置Logo,主标题,子标题

    toolbar=findViewById(R.id.toolbar);
    toolbar.setLogo(R.mipmap.ic_launcher);
    toolbar.setTitle("主标题");
    toolbar.setSubtitle("子标题");

    图片自己放入mipmap里面,可以自行从网上下载。

    三、设置回退键图标,当点击回退键时退出程序。

    toolbar.setNavigationIcon(R.mipmap.back);//设置回退键图标
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    finish();
    }
    });

    四、在main.xml中ToolBar里面添加文本和按钮。

    五、在MainActivity.java添加菜单栏。

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main,menu);
    return super.onCreateOptionsMenu(menu);

    }

    六、在res下面new-->Android Resource Directory,在resource type右侧选择menu,点击ok。

    然后在menu文件夹下新建Android Resource File,取名menu_main。添加几个item。

    如果让item显示在toolBar上,就设置

    app:showAsAction="always"

    想要不显示的话,就设置

    app:showAsAction="never"

    还可以为item添加图标显示

    android:icon="@mipmap/small"

    七、设置当选择相应菜单时进行相应的操作。如:

    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem item) {
    String str=null;
    switch (item.getItemId()){
    case R.id.item1:
    str="您选择了菜单1";
    break;
    case R.id.item2:
    str="您选择了菜单2";
    break;
    case R.id.item3:
    str="您选择了菜单3";
    break;
    }
    Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show();
    return true;
    }
    });

    当然要先引用toolBar。

    setSupportActionBar(toolbar);

    一些简单的功能就学会了,其他的可以自行丰富,设置一个好看的界面。

    MainActivity.java

    package com.example.aimee.toolbartest;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.Toolbar;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
        Toolbar toolbar;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            toolbar=findViewById(R.id.toolbar);
            toolbar.setLogo(R.mipmap.ic_launcher);
            toolbar.setTitle("主标题");
            toolbar.setSubtitle("子标题");
    //        MainActivity.this.setSupportActionBar(toolbar);
            setSupportActionBar(toolbar);
            toolbar.setNavigationIcon(R.mipmap.back);//设置回退键图标
            toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    finish();
                }
            });
    
            toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    String str=null;
                    switch (item.getItemId()){
                        case R.id.item1:
                            str="您选择了菜单1";
                            break;
                        case R.id.item2:
                            str="您选择了菜单2";
                            break;
                        case R.id.item3:
                            str="您选择了菜单3";
                            break;
                    }
                    Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show();
                    return true;
                }
            });
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.menu_main,menu);
            return super.onCreateOptionsMenu(menu);
    
        }
    }
    View Code

    main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:minHeight="?attr/actionBarSize"
            android:theme="?attr/actionBarTheme" >
            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />
    
            <TextView
                android:textSize="28dp"
                android:padding="20dp"
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="首页" />
        </android.support.v7.widget.Toolbar>
    
    
    </android.support.constraint.ConstraintLayout>
    View Code

    menu_main.xml

    <?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:icon="@mipmap/small"
            android:id="@+id/item1"
            android:title="编辑1"
            app:showAsAction="always"
            >
    
        </item>
    
        <item
            android:id="@+id/item2"
            android:title="编辑2"
            app:showAsAction="never">
    
        </item>
    
        <item
            android:id="@+id/item3"
            android:title="编辑3"
            app:showAsAction="never">
    
        </item>
    
    </menu>
    View Code

    styles.xml

    <resources>
    
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Customize your theme here. -->
            <item name="windowNoTitle">true</item>
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
        </style>
    
    </resources>
    View Code
  • 相关阅读:
    面试题 33 把数组排成最小的数
    面试题32 1的数目
    面试题29 数组中出现次数超过一半的数字
    LeetCode_Combination Sum II
    LeetCode_Combination Sum
    面试题27 二叉搜索树转换为双向链表
    面试题26 复杂链表的复制
    面试题24 二叉搜索树的后序遍历序列
    LeetCode_Binary Tree Inorder Traversal
    省选模拟57 题解
  • 原文地址:https://www.cnblogs.com/smart-zihan/p/9946189.html
Copyright © 2011-2022 走看看