第三十篇-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

 

posted @ 2018-11-12 14:18  o云淡风轻o  阅读(344)  评论(0编辑  收藏  举报