欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

toolbar的简单使用

程序员文章站 2024-03-24 12:54:58
...

toolbar与actionbar的冲突解决方式:这里我们给它简单修改主题

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

private Toolbar toolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar= findViewById(R.id.toolbar);
    //设置toolbar
    setSupportActionBar(toolbar);
    //设置是否显示主题
    getSupportActionBar().setDisplayShowTitleEnabled(true);
    //设置标题
    getSupportActionBar().setTitle("主标题");
    //设置主标题颜色
    toolbar.setTitleTextColor(Color.RED);
    //设置子标题及子标题的颜色
    toolbar.setSubtitle("subtitle");
    toolbar.setSubtitleTextColor(Color.BLUE);
    //设置是否显示左侧的按钮
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    //设置logo
    toolbar.setLogo(R.mipmap.ic_launcher);
    //给左侧按钮添加点击事件
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(MainActivity.this,TwoActivity.class));
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    //绑定toolbar和menu
    getMenuInflater().inflate(R.menu.menu_main,menu);
    return true;
}
//toolbar右侧菜单的相关方法
//注意每一个方法的返回值,点击到源码中看下返回值的意义
//只会在第一次创建时候调用

//每次显示前都会调用
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    //每次都会追加子菜单,防止重复追加,需要先调用
    //menu.clear();
    //menu.add()
    return super.onPrepareOptionsMenu(menu);
}

//菜单被选中的时候调用
@Override
public boolean onOptionsItemSelected(MenuItem item) {

    return super.onOptionsItemSelected(item);
}

//关闭的时候调用
@Override
public void onOptionsMenuClosed(Menu menu) {
    super.onOptionsMenuClosed(menu);
}

//打开的时候调用
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
    return super.onMenuOpened(featureId, menu);
}

menu菜单//根据要求自定义
<item
    android:id="@+id/action_edit"
    android:icon="@mipmap/ic_launcher"
    android:orderInCategory="80"
    android:title="one"
    app:showAsAction="never"/>

<item
    android:id="@+id/action_share"
    android:icon="@mipmap/ic_launcher"
    android:orderInCategory="90"
    android:title="two"
    app:showAsAction="never"/>
<item
    android:id="@+id/action_settings"
    android:icon="@mipmap/ic_launcher"
    android:orderInCategory="100"
    android:title="three"
    app:showAsAction="never"/>
相关标签: toolbar