Android - 如何在工具栏中设置项目以填充所有可用空间?

时间:2015-03-11 17:02:59

标签: android android-toolbar android-layout-weight

我当然尝试过分配权重,但似乎工具栏不支持。

2 个答案:

答案 0 :(得分:9)

您可以使用以下方法删除工具栏中的左边距

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

所以最后你的代码可以是这样的 -

<android.support.v7.widget.Toolbar
        app:contentInsetLeft="0dp"
        app:contentInsetStart="0dp"
        android:layout_width="match_parent"
        android:layout_height="48dp">

        <TextView
            android:id="@+id/progress"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="@color/background_floating_material_dark" />
    </android.support.v7.widget.Toolbar>

修改 您也可以在代码中执行 -

toolbar.setContentInsetsAbsolute(0,0);

即使你也可以在风格上修改它 -

<item name="toolbarStyle">@style/Widget.Toolbar</item>

<style name="Widget.Toolbar" parent="@style/Widget.AppCompat.Toolbar">
<item name="contentInsetStart">0dp</item>
</style>

答案 1 :(得分:1)

您可以在工具栏中放置LinearLayout。 LinearLayout允许您设置方向,一旦完成,您可以使用layout_weight。

所以它会像:

<android.support.v7.widget.Toolbar
        app:contentInsetLeft="0dp"
        app:contentInsetStart="0dp"
        android:layout_width="match_parent"
        android:layout_height="48dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">
            <TextView
                android:id="@+id/progress"
                android:layout_width="match_parent"
                android:layout_height="48dp"
                android:background="@color/background_floating_material_dark"
                android:layout_weight="1" />
        </LinearLayout>
    </android.support.v7.widget.Toolbar>