Android 在主活动选项卡顶部拉伸片段约束布局
我构建了一个带有约束布局的片段,其中包含一个Android 在主活动选项卡顶部拉伸片段约束布局,android,constraints,android-tabs,android-constraintlayout,Android,Constraints,Android Tabs,Android Constraintlayout,我构建了一个带有约束布局的片段,其中包含一个列表视图、一个空视图和一个总计数视图。底部约束正在起作用(尽管有人工调整),但顶部与myMainActivity中的选项卡重叠: 我的代码在这里,这是我第一次使用约束布局: { <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="htt
列表视图
、一个空视图和一个总计数视图。底部约束正在起作用(尽管有人工调整),但顶部与myMainActivity
中的选项卡重叠:
我的代码在这里,这是我第一次使用约束布局:
{
<?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">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/total_items_view"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.98"
tools:layout_editor_absoluteX="8dp" />
<TextView
android:id="@+id/total_items_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorOrange"
android:padding="4dp"
android:text="Items in this category: "
android:textSize="28sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintRight_toLeftOf="@id/items_number_view"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/items_number_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorOrange"
android:padding="4dp"
android:text="44"
android:textSize="28sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintLeft_toRightOf="@id/total_items_view" />
<RelativeLayout
android:id="@+id/empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:visibility="gone">
<ImageView
android:id="@+id/empty_book_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/orange_orange_book" />
<TextView
android:id="@+id/empty_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/empty_book_image"
android:layout_centerHorizontal="true"
android:fontFamily="sans-serif-medium"
android:paddingTop="16dp"
android:text="This category is still empty..."
android:textAppearance="?android:textAppearanceMedium" />
<TextView
android:id="@+id/empty_subtitle_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/empty_title_text"
android:layout_centerHorizontal="true"
android:fontFamily="sans-serif"
android:paddingTop="8dp"
android:text="Let's start with adding books!"
android:textAppearance="?android:textAppearanceSmall"
android:textColor="#A2AAB0" />
</RelativeLayout>
</android.support.constraint.ConstraintLayout>
}
{
}
有没有办法在单独的(主)活动中为视图设置约束?我怎样才能解决这个问题
我已经尝试了包装内容
,我唯一能想到的就是手动将其设置在顶部,这会破坏约束布局的概念
谢谢。您不能在约束布局之外应用约束。问题在于父布局,您的视图寻呼机似乎与选项卡布局重叠。首先,不要在ConstraintLayout中使用
match\u parent
,例如,如果要使视图与屏幕宽度匹配,请使用
android:layout_width="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
它重叠的原因在于,您可能不会将列表(或列表容器)的顶部限制为该顶部视图的底部,如
app:layout_constraintTop_toBottomOf="@+id/top_view"
您的
列表视图的
高度设置为wrap\u content
,在这种情况下,它将根据需要展开,并与其他视图重叠。如果您想使用包装内容
并同时强制执行视图的约束,则需要将app:layout\u constrained height=“true”
属性添加到您的列表视图
,这是真的!约束布局与此无关-这是ViewPager和TabsLayout布局的一个愚蠢错误。ConstraintLayout看起来确实很震撼:d问题不在ConstraintLayout范围内:ViewPager和TableLayout被混淆了。