在布局和更改字体中遍历视图

我想知道是否有一种方法来遍历布局中的所有视图,并更改所有具有文本的视图(即TextView,CheckBox,EditText等)的字体。 我有一个布局,我打电话setContentView(),并想知道是否有一个简单的方法来做到这一点。

我可以通过使用findViewById()手动执行,但我宁愿有一个简单的方法来遍历它们。

谢谢,-clark-

Solutions Collecting From Web of "在布局和更改字体中遍历视图"

也许这会让你开始:

protected void changeFonts(ViewGroup root) { Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/comicsans.ttf"); for(int i = 0; i <root.getChildCount(); i++) { View v = root.getChildAt(i); if(v instanceof TextView ) { ((TextView)v).setTypeface(tf); } else if(v instanceof Button) { ((Button)v).setTypeface(tf); } else if(v instanceof EditText) { ((EditText)v).setTypeface(tf); } else if(v instanceof ViewGroup) { changeFonts((ViewGroup)v); } } }