如何为Android编程中的所有活动设置字体大小

时间:2013-10-13 17:39:41

标签: android

我正在构建一个Android应用程序,我需要在第一个活动中使用搜索栏来使用它来更改所有其他活动的文本的字体大小(大约8个活动)。可以有人帮忙吗?

1 个答案:

答案 0 :(得分:1)

解决方案是:你做不到。但是有一个工作(不确定虽然值得一试)。您可以在所有活动中创建基本活动并扩展基本活动(如您所说,大约为8)。然后,您可以使用for循环类型的东西将字体设置为基本活动的onResume()中活动中的每个文本。

这样的事情:

public static void setViewGroupTypeface(ViewGroup container, Typeface typeface) {
        final int children = container.getChildCount();

        for (int i = 0; i < children; i++) 
            View child = container.getChildAt(i);

            if (child instanceof TextView) {
                setTextViewTypeface((TextView) child, typeface);
            } else if (child instanceof ViewGroup) {
                setViewGroupTypeface((ViewGroup) child, typeface);
            }
        }
    }

    public static void setTextViewTypeface(TextView textView, Typeface typeface) {
        textView.setTypeface(typeface);
    }

使用活动的rootView将setViewGroupTypeface方法称为viewGroup以及typeFace。