我已尝试app:layout_constraintBottom_toTopOf="@id/the_view_which_will_remain_below"
,但这不是所需的输出。
我想从RelativeLayout的layout_above
获得相同的行为。
使用此代码,我的Textview开始从底部出现,随着字符增加文本进入上面。但我希望文本从父母的开始开始。
<?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:padding="16dp"
tools:context="com.fatimamostafa.restfulwebservices.asynctask.AsyncTaskRequest">
<LinearLayout
android:id="@+id/ll"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Run" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clear" />
</LinearLayout>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/ll"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:textSize="160sp"
android:text="Text"
/>
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:1)
将文本放在父级的顶部,将LinearLayout放在底部,将文本视图的顶部绑定到parent,并从LinearLayout取消约束它:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Text"
android:textSize="160sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<LinearLayout
android:id="@+id/ll"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Run" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clear" />
</LinearLayout>
我删除了一些我认为多余的约束。
另请注意,您可以使用&#34; @ + id&#34;将TextView放在LinearLayout上。而不是@id。
如果要约束在父顶部和线性布局之间浮动的文本,请将这些约束添加到TextView,并调整0到1之间的垂直偏差。
app:layout_constraintBottom_toTopOf="@+id/ll"
app:layout_constraintVertical_bias="0.2"
答案 1 :(得分:0)
您可以使用高度 0dp 和垂直组织视图。
在相对 布局中,我们可以像下面那样使用上下布局
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bottom_nav"
android:layout_below="@+id/toolbar"
/>
在约束 布局中,必须指定高度,因此您可以指定0高度。然后您可以将视图设置为像这样的其他视图下方
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tablayout" />
您可以使用 constraintTop_toBottomOf 和 constraintBottom_toTopOf 属性将视图调整为其他视图的上方或下方。 谢谢