好的,这是我的XML活动。
<?xml version="1.0" encoding="utf-8"?>
<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="com.example.xxx.listview.MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="0dp"
android:layout_height="120dp"
android:background="@android:color/holo_red_light"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:layout_constraintBottom_toTopOf="@+id/main_listview"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ListView
android:id="@+id/main_listview"
android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
tools:layout_constraintBottom_creator="1"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintTop_creator="1"></ListView>
</android.support.constraint.ConstraintLayout>
以下是我最终的观点。
刚刚学习,所以我对限制事物不熟悉。他们的工作方式与我的iOS生活有点不同,并试图学习。
答案 0 :(得分:0)
您的ListView
在其顶部缺少约束:
app:layout_constraintTop_toBottomOf="@+id/toolbar"
布局工具应该在某个地方显示警告,告诉你它将被重新定位,或者因为你的身高是0dp而错误。它会告诉你添加另一个约束。
如果你的身高是0,那么你需要在视图的顶部和底部有一个约束。如果宽度为0,则视图的左侧和右侧需要约束。
答案 1 :(得分:0)
4-constraints
top,bottom,left and Right
)<?xml version="1.0" encoding="utf-8"?>
<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"
android:id="@+id/cl_layout"
tools:context="com.example.xxx.listview.MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_red_light"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toTopOf="@+id/main_listview"/>
<ListView
android:id="@+id/main_listview"
android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar"></ListView>
答案 2 :(得分:0)
当然,你有错误。我看到你的布局几个问题:
constraintTop
的{{1}} - &gt;您的ListView
将变为ListView
高度并对齐底部。wrap_content
ToolBar
至constraintTop
和Parent
至constraintBottom
- &gt;这就是为什么ListView
位于最高ToolBar
和最高ListView
之间的原因。要解决您的问题,只需移除Parent
的{{1}},然后将constraintBottom
toolBar
添加到工具栏底部。