如何消除导航图标和工具栏徽标之间的差距?

时间:2017-12-04 06:53:08

标签: android android-toolbar

如何删除导航图标和工具栏徽标之间的边距。

我的工具栏布局

<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/paper9patch"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:theme="@style/toolbarTheme"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp">

</android.support.v7.widget.Toolbar>

我正在插入这样的徽标

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

   toolbar.setContentInsetStartWithNavigation(0);
   getSupportActionBar().setDisplayShowTitleEnabled(false);
   getSupportActionBar().setLogo(R.drawable.sample);

我的工具栏看起来像这样

enter image description here

徽标几乎显示在中间我希望它在抽屉图标旁边

我搜索了stackover流程,所有答案都告诉我们使用

app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"

但它不起作用。我可以说没有填充图像,它被精确地裁剪到边缘。如果我使用瓷砖,中间没有间隙,只有在插入徽标时才会出现间隙。

enter image description here

这是预期的行为吗?我还能做些什么来消除这个差距吗?

编辑:我正在使用的样式

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

    </style>

   <style name="toolbarTheme" parent="AppTheme">

    <item name="android:textColorPrimary">@color/themeColor</item>
    <item name="android:textColorSecondary">@color/themeColor</item>

    </style>

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

3 个答案:

答案 0 :(得分:1)

试试这个

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@drawable/paper9patch"
    app:popupTheme="@style/AppTheme.PopupOverlay"
    app:theme="@style/toolbarTheme"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    app:contentInsetStartWithNavigation="0dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@mipmap/ic_launcher_round" />
    </LinearLayout>
</android.support.v7.widget.Toolbar>

答案 1 :(得分:1)

试试这个,虽然它与你的布局没什么不同,但它的效果很好我已经测试了它。

var query = from d in json.Data
            from c in d.Contacts
            from e in c.Emails
            select new { Email = e.EmailValue, LeadId = c.LeadId };
var emails = query.ToList();

将toobar设置为。

 <android.support.design.widget.CoordinatorLayout
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                android:contentInsetLeft="0dp"
                android:contentInsetStart="0dp"
                app:contentInsetLeft="0dp"
                app:contentInsetStart="0dp"
                app:contentInsetStartWithNavigation="0dp"
                android:gravity="center"
                app:popupTheme="@style/AppTheme.PopupOverlay">


            </android.support.v7.widget.Toolbar>

        </android.support.design.widget.AppBarLayout>

    </android.support.design.widget.CoordinatorLayout>

fiddle

答案 2 :(得分:0)

问题在于图像,侧面没有任何额外的空间或填充,但图像分辨率更高。

解决方案

只需降低徽标的图像分辨率,每件事都应正常工作。