If a String is longer than the TextView's width it automatically wraps onto the next line. I can avoid this by using android:singleLine
(deprecated) or by setting android:inputType="text"
. What I now need is something that replaces the last 3 characters of my String with " ... ". Since I'm not using a monospace font this will always be different depending on the letters used in my String. So I'm wondering what's the best way to get the last 3 characters of a String in a TextView and replace them. Maybe there's already something implemented in the Android framework, since this must me a common problem.
Source: Tips4all, CCNA FINAL EXAM
You should be able to use the "ellipsize" property of a text view:
ReplyDelete<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_mytext"
android:ellipsize="end"
android:singleLine="true"
/>
You may also need to apply gravity values to the layout too; I have sometimes seen "auto-stretching" views without them.
Found an interesting work-a-round for this problem.
ReplyDeletemaxLines=1
ellipsize=end
scrollHorizontally=true
The trick is that last statement about horizontal scrolling .... check it out. It at least works on v2.2.