【问题标题】:Remove padding from bottom toolbar completely?完全从底部工具栏中删除填充?
【发布时间】:2015-11-26 13:42:00
【问题描述】:

我正在为我的应用构建底部 Toolbar。它应该与 Google 设计中的这个示例完全一样:

我的问题是我无法让底部工具栏左侧的小“P”图像填满整个工具栏。总是有一个小填充。当我手动将工具栏大小更改为更苗条时,用于跳过和暂停的图像按钮在工具栏中也不会很好地居中。看看我当前的工具栏:

查看我的工具栏布局文件:

 <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar_bottom"
    android:layout_width="match_parent"
    android:layout_height="24dp"
    android:background="@android:color/white"
    android:minHeight="24dp"
    android:layout_alignParentBottom="true"
    app:elevation="4dp"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    app:contentInsetRight="0dp"
    android:padding="0dp"
    android:layout_margin="0dp">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:layout_margin="0dp"
        android:padding="0dp"
        android:gravity="center_vertical">

        <ImageView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:src="@mipmap/ic_launcher"/>

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3">
            <ImageButton
                android:id="@+id/btn_skip_previous"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:src="@drawable/ic_skip_previous_black"
                style="@style/Widget.AppCompat.ActionButton" />
            <ImageButton
                android:id="@+id/btn_playpause"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_toRightOf="@id/btn_skip_previous"
                android:src="@drawable/ic_pause_black"
                style="@style/Widget.AppCompat.ActionButton" />
            <ImageButton
                android:id="@+id/btn_skip_next"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_toRightOf="@id/btn_playpause"
                android:src="@drawable/ic_skip_next_black"
                style="@style/Widget.AppCompat.ActionButton" />
        </RelativeLayout>
    </LinearLayout>
</android.support.v7.widget.Toolbar>

请帮帮我,我怎样才能得到第一张图片中的底部工具栏??

编辑:这是我从 Daniel Lews 获得的提示。符号现在排列得更好了,但到处都有很多填充:

【问题讨论】:

  • 你也想要 textview?
  • 试试 android:padding="0dp" -> padingLeft = 0dp
  • 嗨,不,我不需要 textview,只需在第一行下方另外两个按钮来控制亮度和速度。按下时,它们应该向上移动工具栏并显示两个滑块来设置值。但这就是我的最终目标,现在实现图片示例中的工具栏并知道如何有效控制大小就太好了……
  • @tiny 阳光:那什么都没做...
  • 工具栏的高度...我打算让它比顶部工具栏更苗条。

标签: android


【解决方案1】:

您在Toolbar 上设置了android:minHeight="24dp",因此它保证至少有24dp 高。尝试删除android:minHeight

(您为修复它而设置的大多数其他属性也可能被删除。)


至于控件居中 - 没有布局属性告诉它们现在居中!有多种方法可以解决这个问题:

  1. 将父级RelativeLayout 的高度设置为wrap_content,然后使用重力center_vertical
  2. android:layout_centerVertical="true" 为中心设置每个孩子。
  3. 将每个孩子的身高设置为match_parent,然后使用android:gravity 设置每个孩子内部的内容应该放在哪里。

...而且我相信还有更多方法。

您可能希望将 RelativeLayout 更改为带有权重的 LinearLayout,以便您可以使所有按钮以水平方式正确间隔。

【讨论】:

  • 我根据您的建议进行了编辑,但我的工具栏中仍有很多不需要的填充: