如何删除Android工具栏的左边距?

Posted

技术标签:

【中文标题】如何删除Android工具栏的左边距?【英文标题】:how to remove left margin of Android Toolbar? 【发布时间】:2015-09-12 20:43:34 【问题描述】:

我正在尝试为我的项目使用工具栏。 这是我正在使用的代码:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_
    android:layout_
    android:layout_alignParentTop="true"
    android:background="?attr/colorPrimary"
    android:contentInsetLeft="0dp"
    android:elevation="@dimen/margin_padding_8dp"
    android:contentInsetStart="0dp">

    <RelativeLayout
        android:id="@+id/rlToolbar"
        android:layout_
        android:layout_>

        <TextView
            android:id="@+id/tvTitle"
            android:layout_
            android:layout_
            android:layout_centerInParent="true"
            android:paddingRight="@dimen/margin_padding_16dp"
            android:text="AppBar"
            android:textAppearance="@style/TextAppearance.AppCompat"
            android:textColor="@color/white"
            android:textSize="@dimen/text_size_20sp" />

    </RelativeLayout>

我想删除左边距,在这里我设置了 android:contentInsetLeft="0dp"android:contentInsetStart="0dp" 但它 not 工作..请帮帮我!

【问题讨论】:

更改为使用 app:contentInsetLeft="0dp" 和 app:contentInsetStart="0dp"。将 xmlns:app="schemas.android.com/apk/res-auto" 添加到大多数父视图 xml @calvinfly 感谢您的回答.. 就像一个魅力.. 这不是左边距,它的工具栏内侧空间所以我们称之为工具栏左内边距,您可以删除左内边距。 Remove Space possible duplicates@natuan241 这个链接对我很有用,试试吧...enter link description here 【参考方案1】:

用下面的xml替换你的xml

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_
    android:layout_
    android:layout_alignParentTop="true"
    android:background="?attr/colorPrimary"
    android:elevation="@dimen/margin_padding_8dp"
    android:contentInsetStart="0dp" 
    android:contentInsetLeft="0dp"
    android:contentInsetRight="0dp"
    android:contentInsetEnd="0dp"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    app:contentInsetRight="0dp"
    app:contentInsetEnd="0dp">

<RelativeLayout
    android:id="@+id/rlToolbar"
    android:layout_
    android:layout_>

    <TextView
        android:id="@+id/tvTitle"
        android:layout_
        android:layout_
        android:layout_centerInParent="true"
        android:paddingRight="@dimen/margin_padding_16dp"
        android:text="AppBar"
        android:textAppearance="@style/TextAppearance.AppCompat"
        android:textColor="@color/white"
        android:textSize="@dimen/text_size_20sp" />

</RelativeLayout>

【讨论】:

用navigationIcon,添加app:contentInsetStartWithNavigation="0dp"【参考方案2】:

使用app:contentInsetStart="0dp" 删除剩余的空格。

【讨论】:

【参考方案3】:

查看下面的代码,我在这里添加了app:contentInsetStart="0dp"。您需要将其添加到您的代码中,因为在 API 21(即 Lollipop)之前,您需要添加该行。

<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_
            android:layout_
            android:background="@color/colorPrimary"
            android:minHeight="?attr/actionBarSize"
            android:contentInsetStart="0dp"
            app:contentInsetStart="0dp"
            >
 </android.support.v7.widget.Toolbar>

【讨论】:

【参考方案4】:

参考@calvinfly 评论:

我更新了我的代码

<RelativeLayout
    android:id="@+id/rlTop"
    android:layout_
    android:layout_
    android:layout_alignParentTop="true"
    android:background="@android:color/white" >

    <TextView
        android:id="@+id/toolbar_title"
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:text="@string/titleString"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#468bac"
        android:textStyle="bold" />

    <RelativeLayout
        android:id="@+id/rlStarsTop"
        android:layout_
        android:layout_
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:gravity="center"
        android:layout_marginRight="2dp"
        android:layout_toRightOf="@+id/toolbar_title"
        android:layout_toEndOf="@+id/toolbar_title"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true">

        <RatingBar
            android:id="@+id/txtRatings"
            style="?android:attr/ratingBarStyleSmall"
            android:layout_
            android:layout_
            android:layout_centerHorizontal="true"
            android:layout_margin="1dp"
            android:gravity="center"
            android:max="5"
            android:rating="3.7"
            android:textColor="@android:color/holo_blue_bright"
            android:textStyle="bold" />
    </RelativeLayout>

</RelativeLayout>

【讨论】:

【参考方案5】:

只需在你的toolbar.xml中添加这两行

    app:contentInsetStart="0dp" app:contentInsetEnd="0dp"

【讨论】:

【参考方案6】:

这对我有用...

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app2="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_
    android:layout_
    android:background="@color/colorPrimary"
    app2:contentInsetStart="0dp"/>

【讨论】:

你必须强调工具栏上的xmlns部分,似乎当你自动添加它时,它会添加到最顶层的父级,这不起作用【参考方案7】:

将以下 xml 代码添加到您的工具栏!

app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
app:contentInsetStart="0dp"

【讨论】:

【参考方案8】:

将以下代码添加到您的.xml 文件中它可能会解决。我尝试过的完美工作解决方案。

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_
    android:layout_
    android:background="@color/white"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    app:contentInsetRight="0dp"
    app:contentInsetEnd="0dp"
    app:theme="@style/toolbarPopup">

21以上使用以下代码

<android.support.v7.widget.Toolbar
android:layout_
android:layout_
android:background="@color/primaryColor"
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp" />

【讨论】:

【参考方案9】:

使用此工具栏属性删除工具栏的左侧空间

app:contentInsetStart="0dp"

<androidx.appcompat.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_
    android:layout_
    android:background="@color/colorPrimary"
    app:contentInsetStart="0dp">

</androidx.appcompat.widget.Toolbar>

【讨论】:

以上是关于如何删除Android工具栏的左边距?的主要内容,如果未能解决你的问题,请参考以下文章

Android:从操作栏的自定义布局中删除左边距

如何在Android中删除ActionBar中的左侧填充边距额外空间?

安卓。设置左边距/右边距不起作用

从工具栏中删除默认边距底部

Bootstrap - 为啥:行删除左边距而不是行流体

WKHTMLTOPDF 从左边距截断文本