在Toolbar中添加一个返回图标

如果我们在布局中这样添加一个Toolbar,那么添加后Toolbar中啥都没有,只有一个背景颜色

<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:fitsSystemWindows="true" // 这个意思是告诉系统要给它留一个status bar的高度的paddingTop,然后需要setSupportActionBar(mToolbar);
            app:layout_scrollFlags="scroll|enterAlways"/>

如果要添加一个返回键在左边,如下图所示:


image.png

则需要设置:

setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

要响应点击事件,则还需要添加

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if(item.getItemId() == android.R.id.home){
            Toast.makeText(this, "返回", Toast.LENGTH_LONG).show();
            finish();
        }
        return super.onOptionsItemSelected(item);
    }

默认添加的是一个黑色的箭头,在AppTheme中需要添加

<item name="colorControlNormal">@android:color/white</item>

让箭头变为白色
这里使用了toolbar所以AppTheme的parent要是没有ActionBar的,比如:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

记得在onCreate中设置

setSupportActionBar(mToolbar);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。