Skip to content

Instantly share code, notes, and snippets.

@petitJAM
Last active March 24, 2021 08:04
Show Gist options
  • Save petitJAM/040782f19e18f9feca4c28f0df6ed19f to your computer and use it in GitHub Desktop.
Save petitJAM/040782f19e18f9feca4c28f0df6ed19f to your computer and use it in GitHub Desktop.
Ellipsize TextView with 0dp in ConstraintLayout
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:ellipsize="end"
android:maxLines="4"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!-- layout_constrainedWidth="true" is key -->
@andor201995
Copy link

Your solution was really helpful in guiding my usecase and used below code

private fun setSubTitle(text: String?) {
        // set the layout with expected max width for text
        contentText.isSingleLine = true
        contentText.text = text
        // reset the text with ellipsized text
        contentText.doOnNextLayout {
            if (it is TextView) {
                it.text = TextUtils.ellipsize(
                    text,
                    it.paint,
                    it.width.toFloat(),
                    TextUtils.TruncateAt.END
                )
            }
        }
    }

Thanks a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment