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

时间:2015-07-13 15:58:38

标签: java android toolbar

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

修改

enter image description here

我试过这个:

    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);
        }
    });

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

enter image description here

问题:

如何将箭头和徽标放在一起?

2 个答案:

答案 0 :(得分:1)

您的链接会将您带到旧ActionBar的示例,但您似乎正在使用新工具栏。新的工具栏设计没有旧版本的图标,只有文本,因此额外的空间是设计的。如果你想使用你链接的东西,那么你需要使用ActionBar而不是工具栏。

以下是新工具栏上的链接: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/

VS。旧的ActionBar https://developer.android.com/training/basics/actionbar/index.html

答案 1 :(得分:0)

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

enter image description here

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

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>

<强>结果:

enter image description here

就是这样!

P.S。对不起我的语法错误。