【发布时间】:2018-10-23 22:29:41
【问题描述】:
我正在尝试构建响应式布局,但我无法这样做。我需要实现这些图纸上呈现的视图逻辑: (从底部)有一个固定大小的视图,固定在屏幕底部。在它上面有一个TextView。它的最小高度应该是中心线和底视图之间的空间。当有很多文本时,它应该增长到中心指南之上。在顶部有一个 ImageView,其最大高度是屏幕顶部和中心线之间的空间,并且没有最小高度。我当前的解决方案如下所示:
<ConstraintLayout>
<ImageView
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="barrier" />
<Textview
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="bottomView" />
<View
android:layout_height="{some}dp"
app:layout_constraintBottom_toBottomOf="parent" />
<android.support.constraint.Barrier
app:barrierDirection="top"
app:constraint_referenced_ids="guidelineCenter,textView" />
<ConstraintLayout>
此时,长文本的情况可以正常工作,但如果文本很短,我最终会将文本锚定到底部视图。知道如何强制左图像所需的最小约束吗?
【问题讨论】:
-
是否强制实现
ConstraintLayout? -
@nimi0112 不,但我正在尝试尽可能多地使用它来学习它。如果您知道如何使用任何其他布局来实现它,请分享。
-
是的,学习很好。但是,如果您受到打击,可以通过线性布局来实现,方法是根据您的逻辑以编程方式设置两个布局的
weight -
@nimi0112 是的,使用
LinearLayout可以轻松实现左侧屏幕,但我认为右侧屏幕是不可能的。 -
可以根据您的逻辑将它们的
weights设置为0.2 (ImageView)和0.8(Textview),而不是将它们分配为相等的weights
标签: android android-constraintlayout