如何调整2个工具栏以适合父宽度

时间:2017-04-10 12:53:52

标签: android xml android-layout android-toolbar

我在下面的代码中有2个Toolbars,我希望看到它们并排。首先应覆盖 80%的宽度,其余应覆盖第二个工具栏。我怎样才能做到这一点。我可以像 200dip / 100 dip 那样对宽度进行硬编码,但是当我更换手机时这不起作用..屏幕突发。

<android.support.design.widget.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:theme="@style/AppTheme.AppBarOverlay"
        android:layout_weight="1"
        >

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="0dip"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay"
            android:layout_gravity="top|left"
            android:layout_weight="0.8"/>



    </android.support.design.widget.AppBarLayout>
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar1"
        android:layout_width="0dip"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        android:layout_gravity="top|right"
        android:layout_weight="0.2"/>

3 个答案:

答案 0 :(得分:2)

请检查以下解决方案,它可以帮助您

 <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="1">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                app:popupTheme="@style/AppTheme.PopupOverlay"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:layout_gravity="top|left"
                android:layout_weight="0.8"
                android:background="?attr/colorPrimary">

            </android.support.v7.widget.Toolbar>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar1"
                app:popupTheme="@style/AppTheme.PopupOverlay"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:layout_gravity="top|right"
                android:layout_weight="0.2"
                android:background="?attr/colorPrimary">
           </android.support.v7.widget.Toolbar>

        </LinearLayout>
    </android.support.design.widget.AppBarLayout>

答案 1 :(得分:1)

我不确定你为什么需要它,但是你可以用LinearLayout这些权重包装它们:

<LinearLayout 
        android:orientation="horizontal"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">

    <android.support.design.widget.AppBarLayout
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="0.8"
            android:theme="@style/AppTheme.AppBarOverlay">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/AppTheme.PopupOverlay"
                android:layout_gravity="top|left"/>

    </android.support.design.widget.AppBarLayout>

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar1"
        android:layout_width="0dip"
        android:layout_weight="0.2"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        android:layout_gravity="top|right"/>

</LinearLayout> 

答案 2 :(得分:0)

请使用以下代码。它有效。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:theme="@style/AppTheme.AppBarOverlay">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="0dip"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="top|left"
            android:layout_weight="0.8"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar1"
            android:layout_width="0dip"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="top|right"
            android:layout_weight="0.2"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />


    </LinearLayout>


</android.support.design.widget.AppBarLayout>