如何删除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工具栏的左边距?的主要内容,如果未能解决你的问题,请参考以下文章