我需要限制的位置TextView,這取決于它占用了多少空間(下面截圖中的示例)

如您所見,在左側示例中,Title很短,因此兩者TextView都位于中間。
像右邊這個例子,Title占用空間大,往上走,而Description往下走,但兩者TextView還是在中間。我怎樣才能做到這一點ConstraintLayout?
PS:不要注意我沒有準確畫例子,我用的是Paint :)
uj5u.com熱心網友回復:
您需要將兩者都鏈接TextViews為“打包”以使兩者都處于高度的中間。這將應用于頂級電視。
這也需要相互約束TextViews,頂部電視到螢屏頂端,底部電視到螢屏底部。
由于頂部的電視會很長,你可以使用layout_constrainedHeight屬性來限制它的高度,這樣你就可以保證它不會超出頂部的螢屏末端,或者不會在底部的電視上貪婪。
這里假設底部的電視文本很短,否則在頂部的電視上會很貪婪。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@ id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/long_text"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@ id/description"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@ id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="description"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@ id/title"
app:layout_constraintTop_toBottomOf="@ id/title" />
</androidx.constraintlayout.widget.ConstraintLayout>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/534422.html
標籤:安卓安卓布局android-constraintlayoutandroid-xml
