Earlier quoted context omitted.
The actual layout algorithm is handled by DynamicLayout, not the textView. It really is just supposed to show some text. You can see it here.[0] Almost all the difficult aspects of showing the text, such as alignment, text direction, line spacing, line breaking, ect. as well as the actual rendering of the text are handled by StaticLayout/DynamicLayout. All TextView should be doing is basically just allowing you to ad…
> I have actually made my own TextView using just layout so I don't think this comment is warranted. Make sure you handle the following attributes and how they affect each other! > text, bufferType, hint, textColor, textColorHighlight, textColorHint, textAppearance, textColorLink, textFontWeight, textSize, textScaleX, fontFamily, typeface, textStyle, cursorVisible, maxLines, maxHeight, lines, height, minLines, minHei…
Done
>textColor, typeface, textColorLink, textFontWeight, textStyle
handled by TextPaint in StaticLayout/DynamicLayout. For example textColorLink is just `linkColor` from TextPaint.[0]
>text, textSize, maxLines, justificationMode, breakStrategy, hyphenationFrequency, lineBreakStyle
handled by StaticLayout/DynamicLayout
>shadowColor, shadowDx, shadowDy, shadowRadius
mTextPaint.setShadowLayer(radius, dx, dy, color);
Wow, that was so difficult. Only those that "know about UI" must be capable of such a feat?
>numeric, digits, phoneNumber, inputMethod, editable, cursorVisible, textCursorDrawable, allowUndo, inputType, imeOptions, privateImeOptions, imeActionLabel, imeActionId, editorExtras,
Only needed if you add a text editor into your text view, which I did not do.
I'm not going to go through all of these because I'm not sure exactly which side implements them (for example elegantTextHeight sound like something TextView does, but I'm not sure.) I suggest you actually sit down to read TextView before you make comments about it.
[0] https://developer.android.com/reference/android/text/TextPai...