Android--ToolBar使用

使用ToolBar

使用的文件:
1、MainActivity.java
2、activity_main.xml
3、style.xml
4、menu_main.xml

1、基本设置

style中配置,必须设置为:Theme.AppCompat.Light.NoActionBar 这个主题。

    
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        -- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary
        "colorPrimaryDark">@color/colorPrimaryDark
        "colorAccent">@color/colorAccent
    style>

activity_main.xml中添加

    .support.v7.widget.Toolbar
        android:id="@+id/activity_main_toolbar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="?attr/colorPrimaryDark"
        android:minHeight="?attr/actionBarSize"/>

menu_main.xml中设置(即当点击menu按钮时会跳出两个选项item)


<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/action_item1"
        android:title="item1"
        android:orderInCategory="2"
        android:icon="@mipmap/ic_launcher"
        app:showAsAction="never"/>

    <item android:id="@+id/action_item2"
        android:title="item2"
        android:orderInCategory="3"
        android:icon="@mipmap/ic_launcher"
        app:showAsAction="never"/>
menu>

MainActivity中设置

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = findViewById(R.id.activity_main_toolbar);

        toolbar.setTitle("标题");

        setSupportActionBar(toolbar);
    }

Android--ToolBar使用_第1张图片
这时,左边NvagitionIcon和右边的MenuIcon都没有出来,所以还要在Java中配置。
设置左边

 //设置是否有NvagitionIcon(返回图标)
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);

设置右边

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

总的:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = findViewById(R.id.activity_main_toolbar);

        toolbar.setTitle("标题");

        setSupportActionBar(toolbar);

        //设置是否有NvagitionIcon(返回图标)
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

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

    }
}

现在就有了左边和右边的图标了,但是它们都是黑色的图标连标题都是黑的。那是因为我们在style.xml文件中设置了