2. If you talk to a man in a language he understands, that goes
to his head. If you talk to him in his language, that goes to his
heart. - Nelson Mandela
16. Language script type English and English-like: Latin
(except Vietnamese), Greek, Cyrillic, Hebrew, Armenian and
Georgian.
17. Language script type English and English-like: Latin
(except Vietnamese), Greek, Cyrillic, Hebrew, Armenian and
Georgian. Tall: Language scripts that require extra line height to
accommodate larger glyphs, including South and Southeast Asian and
Middle Eastern languages, like Arabic, Hindi, Telugu, Thai,
Vietnamese.
18. Language script type English and English-like: Latin
(except Vietnamese), Greek, Cyrillic, Hebrew, Armenian and
Georgian. Tall: Language scripts that require extra line height to
accommodate larger glyphs, including South and Southeast Asian and
Middle Eastern languages, like Arabic, Hindi, Telugu, Thai,
Vietnamese. Dense: Language scripts that require extra line height
to accommodate larger glyphs but have different metrics from tall
scripts. Includes Chinese, Japanese, and Korean.
19. I Love You Tall / Lengthy languages
20. Important TextView attrs android:ellipsize
21. Important TextView attrs android:ellipsize android:maxLines
android:minLines
22. Important TextView attrs android:ellipsize android:maxLines
android:minLines android:fontFeatureSettings
android:elegantTextHeight
23. Important TextView attrs android:ellipsize android:maxLines
android:minLines android:fontFeatureSettings
android:elegantTextHeight android:typeface
24. Custom font for full app Calligraphy
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("your font path")
.setFontAttrId(R.attr.fontPath) .build();
25. Custom font for full app Calligraphy
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("your font path")
.setFontAttrId(R.attr.fontPath) .build(); Using reflection final
Field staticField =
Typeface.class.getDeclaredField(staticTypefaceFieldName);
staticField.setAccessible(true); staticField.set(null,
newTypeface);
http://stackoverflow.com/questions/2711858/is-it-possible-to-set-a-custom-font-for-entire-of-application
26. Localized layouts
27. RTL support - Native RTL support from Jellybean (4.2) -
Left -> Start - Right -> End
28. RTL support - Native RTL support from Jellybean (4.2) -
Left -> Start - Right -> End - Images with Text should be
split - Background Image - Text as overlay
29. Flexible layout android:layoutDirection attribute for
setting the direction of a component's layout.
30. Flexible layout android:layoutDirection attribute for
setting the direction of a component's layout.
android:textDirection attribute for setting the direction of a
component's text.
31. Flexible layout android:layoutDirection attribute for
setting the direction of a component's layout.
android:textDirection attribute for setting the direction of a
component's text. android:textAlignment attribute for setting the
alignment of a component's text.
32. Force RTL layout
33. Distance, Time, Currency
34. Distance
35. Distance
36. Time
37. Currency - Can be make or break for your app - Must provide
easy way to change it - $$ must be included if international
38. Common issues
39. Common issues Clipped text, or text that overlaps the edge
of UI elements or the screen
40. Common issues Clipped text, or text that overlaps the edge
of UI elements or the screen Poor line wrapping
41. Common issues Clipped text, or text that overlaps the edge
of UI elements or the screen Poor line wrapping Incorrect word
breaks or punctuation
42. Common issues Clipped text, or text that overlaps the edge
of UI elements or the screen Poor line wrapping Incorrect word
breaks or punctuation Incorrect alphabetical sorting
43. Common issues Clipped text, or text that overlaps the edge
of UI elements or the screen Poor line wrapping Incorrect word
breaks or punctuation Incorrect alphabetical sorting Incorrect
layout direction or text direction
44. Common issues Clipped text, or text that overlaps the edge
of UI elements or the screen Poor line wrapping Incorrect word
breaks or punctuation Incorrect alphabetical sorting Incorrect
layout direction or text direction Untranslated text
45. Thanks! Arun Babu A S P Love building apps with best user
experience! https://www.linkedin.com/in/arunasp
https://yourstory.com/2016/09/arun-babu-story/