I think it's time to start blogging about android :)
I just got my Samsung Galaxy S2 a week ago and it's been so fun playing with !
So today i'm gonna show how to use custom fonts, There is a nice artical about Styling TextViews in here: Customize Android Fonts
You can see there that they are accessing a TextView using it's ID and then changing the font of the spacific TextView.
TextView txt = (TextView) findViewById(R.id.custom_font); Typeface font = Typeface.createFromAsset(getAssets(), "Chantelli_Antiqua.ttf"); txt.setTypeface(font);
Now that can be a pain in the a** if you have alot of TextViews in your page...
So iv'e created a Recursive that changes all TextView's & Button's fonts on the same page :)
void UpdateFonts(ViewGroup parent, Typeface font) { for (int i = 0; i < parent.getChildCount(); i++) { View child = parent.getChildAt(i); if (child instanceof ViewGroup) { UpdateFonts((ViewGroup) child, font); } else if (child != null) { if (child.getClass() == TextView.class) { ((TextView) child).setTypeface(font); } else if (child.getClass() == Button.class) { ((Button) child).setTypeface(font); } } } }
This is an eay recursive that loops through all children of a parent element and changes all of his children's fonts.
You can call it like that if you want all page:
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/choco.ttf"); ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content).getRootView(); UpdateFonts(rootView, font);
Hope you enjoyed my first Android article :)
See you next time ;)