我有一个toolbar
,在其中toolbar
内放置了constraintlayout
。我想将constraintlayout
的宽度设置为match_parent
。但是如上图所示,即使我将layout_width
设置为match_parent
,但在开始时(左侧)却与父项不匹配。您可以在绿色工具箱中看到蓝色轮廓框,左侧与父级不匹配。
因为我想在toolbar
中放置一些视图,例如searchbar
,文本等,并且如果constraintlayout
的宽度不是{{1},则很难将其正确居中}。
这是我使用的xml:
match_parent
答案 0 :(得分:2)
您需要将ContentInset
属性添加到toolbar
中,如下所示:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activities.MainActivity">
<androidx.appcompat.widget.Toolbar
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="?attr/actionBarTheme"
android:minHeight="?attr/actionBarSize"
android:id="@+id/top_toolbar"
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
android:elevation="4dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="50dp"
tools:context=".Fragments.Search.SearchFragment"
android:id="@+id/constraintLayout_toolbar" tools:layout_editor_absoluteY="8dp"
tools:layout_editor_absoluteX="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/destination_label_text_view"
tools:text="Text View"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginBottom="8dp" app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent"
android:textAlignment="viewStart" android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.appcompat.widget.Toolbar>
答案 1 :(得分:1)
这不是ConstraintLayout
toolbar
具有默认的左右边距
您可以通过以下代码将其删除
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"