为什么在协调器布局中不起作用布局约束



在我的安卓应用程序中,我使用CoordinatorLayout,与AppBarLayout,CollapsingToolbarLayout但是某些功能不起作用。在 CardView 中,我无法使用 app:layout_constraint"开始、顶部、结束和底部"移动文本视图

单击我们可以看到我的 UI

       <android.support.design.widget.CoordinatorLayout
               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.DetailActivity"
                    android:fitsSystemWindows="true">
                <android.support.design.widget.AppBarLayout
                        android:id="@+id/main.appbar"
                        android:layout_width="match_parent"
                        android:layout_height="150dp"
                        android:fitsSystemWindows="true">
                    <android.support.design.widget.CollapsingToolbarLayout
                            android:id="@+id/main_collapsing"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            app:layout_scrollFlags="scroll|exitUntilCollapsed"
                            android:fitsSystemWindows="true"
                            app:contentScrim="?attr/colorPrimary"
                            app:expandedTitleMarginStart="48dp"
                            app:expandedTitleMarginEnd="64dp"
                            android:background="@drawable/Ar-Rahman">
                        <android.support.v7.widget.Toolbar
                                android:id="@+id/main_toolbar"
                                android:layout_width="match_parent"
                                android:layout_height="attr/actionBarSize"
                                android:minHeight="?attr/actionBarSize"
                                app:layout_collapseMode="pin"/>
    </android.support.design.widget.CollapsingToolbarLayout>
                </android.support.design.widget.AppBarLayout>
                <android.support.design.widget.FloatingActionButton
                        android:id="@+id/fab"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="16dp"
                        app:layout_anchor="@id/main.appbar"
                        app:layout_anchorGravity="bottom|end"/>
                <android.support.v4.widget.NestedScrollView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        app:layout_behavior="@string/appbar_scrolling_view_behavior">
                    <android.support.v7.widget.CardView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content">
                        <TextView android:layout_width="wrap_content"
                                  android:layout_height="wrap_content"
                                  android:id="@+id/arabic_name"
                                  android:text="Arabic_name"
app:layout_constraintStart_toStartOf="parent"
                         app:layout_constraintBottom_toBottomOf="parent"
                             app:layout_constraintEnd_toTopof="translate"/>
                        <TextView android:layout_width="wrap_content"
                                  android:text="@string/example_transate"
                                  android:id="@+id/translate"
        app:layout_constraintStart_toStartOf="parent"
                                  android:layout_height="wrap_content"/>
                    </android.support.v7.widget.CardView>
                </android.support.v4.widget.NestedScrollView>
            </android.support.design.widget.CoordinatorLayout>

我想在卡片视图中查看第一个文本查看下面的第二个文本视图

要在CardView中设置视图的约束,您必须在 CardView 中获取ConstraintLayout,并且必须将所有视图放入该ConstraintLayout中。然后只设置约束。

不能将约束设置为直接 CardView 的子项。约束属性仅适用于ConstraintLayout的直接子级

尝试以下代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
    tools:context=".activities.DetailActivity">
    <android.support.design.widget.AppBarLayout
        android:id="@+id/main.appbar"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:fitsSystemWindows="true">
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/main_collapsing"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/Ar-Rahman"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">
            <android.support.v7.widget.Toolbar
                android:id="@+id/main_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?actionBarSize"
                android:minHeight="?attr/actionBarSize"
                app:layout_collapseMode="pin" />
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>
    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        app:layout_anchor="@id/main.appbar"
        app:layout_anchorGravity="bottom|end" />
    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.constraint.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <TextView
                    android:id="@+id/arabic_name"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Arabic_name"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />
                <TextView
                    android:id="@+id/translate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/example_transate"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@+id/arabic_name" />
            </android.support.constraint.ConstraintLayout>
        </android.support.v7.widget.CardView>
    </android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>

最新更新