I have a TextView for description and I want it to display 4 lines by default, show the ellipsis and have a little expansion button. When the expansion button is pressed, the TextView should be expanded to display its entire contents, and the other elements on the layout should move down.
To show the ellipsis I am using desc.setEllipsize(TextUtils.TruncateAt.END);
and I am setting the maxLines programmattically in the onClick event of the expansion/collapse button.
This works to expand the amount of text visible in the TextView, but it does not enlarge the TextView itself and push the rest of the layout down so you can see everything on the screen. How can I achieve this?
Simply using desc.setMaxLines(4);
does not work to expand the TextView itself/increase its height. I have also tried using an ObjectAnimator
to set the maxLines for the TextView but that has the same effect.
Thanks in advance for the help!
EDIT:
Code in onClick for animating the expansion:
ObjectAnimator animation = ObjectAnimator.ofInt(
desc,
"maxLines",
25);
animation.setDuration(400);
animation.start();
desc.setEllipsize(null);