在片段布局的约束布局中添加工具栏

时间:2018-11-17 10:31:56

标签: android xml layout toolbar android-constraintlayout

我试图在约束布局内添加工具栏,但这是我得到的结果:

enter image description here

如您所见,它不适合整个屏幕。 这是我的xml:

<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Fragment title"/>

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

将ConstraintLayout的宽度和长度设置为与父级(应该是屏幕?)匹配,而工具栏的宽度设置为与布局宽度匹配。 我想念什么?

3 个答案:

答案 0 :(得分:0)

通过在工具栏内添加这些内容来尝试一下

android:contentInsetLeft="0dp"
    android:contentInsetStart="0dp"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    android:contentInsetRight="0dp"
    android:contentInsetEnd="0dp"
    app:contentInsetRight="0dp"
    app:contentInsetEnd="0dp" 

我是从Android: remove left margin from actionbar's custom layout那里得到的。而且,如果这不能解决您的问题,您也可以在那里尝试其他解决方案。

答案 1 :(得分:0)

尝试此操作,您必须将constraintTop设置为parent,还要使宽度值匹配约束并将开始和结束约束设置为parent,

检查下面的代码

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="0dp"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Fragment title" />

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

答案 2 :(得分:0)

我通过将操作栏放在主要活动而不是片段布局上来解决了这个问题。