wrap_content
プロパティでlayout_constrainedHeight
をConstraintLayout
に設定して高さを使用しようとすると、TextView
の最後の行が非表示になるtrue
(バージョン1.1.3)の奇妙な動作に気づきました。
layout_constrainedHeight
の場合:
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:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_margin="16dp"
Android:text="Lorem..."
app:layout_constrainedHeight="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
ConstraintLayout
でwrap_content
を使用したいときはいつでも、layout_constrainedHeight
をtrueに設定する必要があると思いましたが、これにより奇妙なバグが発生することがあります。何か不足していますか?
[〜#〜]編集[〜#〜]
TextView
の周りのマージンを削除すると、うまく機能します。 ConstraintLayout
がwrap_content
とマージンに問題があるようです。
TextView
の下部にもう1つ制約を追加してみてください-app:layout_constraintBottom_toBottomOf="parent"
またはapp:layout_constraintBottom_toTopOf="@id/someOtherView"
とこのsomeOtherView
には、親に対する下部制約が必要です。順番に縦のチェーンが必要ですapp:layout_constrainedHeight
動作します。
それが役に立てば幸い。