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

问题描述 投票:7回答:2

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

android android-toolbar android-layout-weight
2个回答
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
投票

您可以在工具栏中放置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>
© www.soinside.com 2019 - 2024. All rights reserved.