android - 在 Toolbar 和 LinearLayout 之间的左侧无法解释的间隙/填充

标签 android android-layout layout imageview android-linearlayout

我在我的 Android Studio 项目的布局文件中有以下结构,我看到父元素(工具栏)和它的直接子元素(线性布局)之间无法解释的左填充。

布局文字

<Toolbar
    android:layout_width="fill_parent"
    android:layout_height="600dp"
    android:id="@+id/toolbar"
    android:background="#313B45"
    android:weightSum="1">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" android:orientation="vertical">
        <ImageView
            android:id="@+id/headerimage"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            android:layout_gravity="left|top"
            android:layout_weight="1"/>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="New Text"
            android:id="@+id/textView"
            android:scaleType="fitXY"
            android:layout_gravity="left|top"
            android:layout_weight="1"/>

    </LinearLayout>
</Toolbar>

如何消除这个间隙并让子 LinearLayout 与父 Toolbar 完全对齐?

最佳答案

将这些行添加到您的工具栏布局: 对于 API<=21 工具栏:

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

对于 API 21>= 工具栏:

    android:contentInsetLeft="0dp"
    android:contentInsetStart="0dp"

左侧插入是由Toolbar的contentInsetStart引起的,默认为16dp。

这是完整的代码:

<android.support.v7.widget.Toolbar
android:layout_width="fill_parent"
android:layout_height="600dp"
android:id="@+id/toolbar"
android:background="#313B45"
android:weightSum="1"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/headerimage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitXY"
        android:layout_gravity="left|top"
        android:layout_weight="1" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="New Text"
        android:id="@+id/textView"
        android:scaleType="fitXY"
        android:layout_gravity="left|top"
        android:layout_weight="1" />

</LinearLayout>

关于android - 在 Toolbar 和 LinearLayout 之间的左侧无法解释的间隙/填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447043/

相关文章:

android - 找不到 installer_rversion-windows.exe 来启动 Android SDK Tools 安装向导

android - 从后台线程添加 View

android - 如何检查已解析的 XML 标记值是否为空

java - TwoWayView android 库如何设置边距(图像之间的间距)? setItemMargin() 不起作用

Android: Canvas 层上的 UI 元素

java - Android 中的服务器端验证 : asynchronous method called in if statement workaround

android - 如何使用android获取id onclick listview

layout - 如何正确地将多个片段添加到片段过渡?

android - 替换已弃用的 Android Facebook 代码

grails - Grails:在Layout GSP中获取 View 名称