如何在工具栏中的图标旁边设置一个小箭头?

How to set a little arrow next to icon in toolbar?

我想要这样的东西:link。一个小箭头和图标,但在工具栏中。

编辑:

我试过这个:

    mToolbar = (CustomToolbar) findViewById(R.id.toolbar);

    setSupportActionBar(mToolbar);

    mToolbar.setNavigationIcon(R.drawable.ic_ab_back_holo_light);
    mToolbar.setTitle(mMatchName);
    mToolbar.setLogo(R.mipmap.ic_options);

    getSupportActionBar().setHomeButtonEnabled(true);


    mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            finish();
            overridePendingTransition(0, R.anim.slide_right);
        }
    });

但这使得箭头图标和Logo之间的距离很大。

问题:

如何将箭头和徽标并排放置?

您的 link 将您带到旧 ActionBar 的示例,但您似乎使用的是新工具栏。新的工具栏设计不像旧版本那样有图标,只有文本,所以额外的 space 是设计使然。如果您想使用像您 linked 那样的东西,那么您需要使用 ActionBar 而不是工具栏。

这是新工具栏上的 link: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/

对比旧的 ActionBar https://developer.android.com/training/basics/actionbar/index.html

经过一些实验,我发现了如何在工具栏中实现像这样的向上导航:

我们可以创建自定义布局并将其放在工具栏中。

1) onCreate 方法中:

        mToolbar = (CustomToolbar) findViewById(R.id.toolbar);

        setUpCustomUpNavigation();

        setSupportActionBar(mToolbar);

        // to disable title in a toolbar
        getSupportActionBar().setDisplayShowTitleEnabled(false);

2) setUpCustomUpNavigation() 方法。

private void setUpCustomUpNavigation() {
        LayoutInflater mLayoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View customUpNavView = mLayoutInflater.inflate(R.layout.up_navigation_layout, null);

        // "ic_ab_back_holo_light.png" Located in ...android-sdk\platforms\android-14\data\res\drawable-xhdpi
        ImageView backArrowImageView = (ImageView) customUpNavView.findViewById(R.id.backArrowImageView);

        ImageView logoToolbarImageView = (ImageView) customUpNavView.findViewById(R.id.logoToolbarImageView);

        TextView titleTextView = (TextView) customUpNavView.findViewById(R.id.titleTextView);


        // set logo
        logoToolbarImageView.setImageResource(R.drawable.help_toolbar_ic_selector);

        // set title
        titleTextView.setText(R.string.title_activity_help);

        mToolbar.addView(customUpNavView);
    }

3) toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<net.stargorod.dating.toolbar.CustomToolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    android:background="@color/colorPrimary"
    android:minHeight="?actionBarSize"
    style="@style/MyToolbar" />

4) 在style.xml中创建样式:MyToolbar。

    <!-- Toolbar style -->
    <style name="MyToolbar" parent="Widget.AppCompat.ActionBar">
        <item name="contentInsetStart">0dp</item>
        <item name="contentInsetEnd">0dp</item>
        <item name="android:padding">0dp</item>
    </style>

结果:

就是这样!

P.S。很抱歉我的语法错误。