java – 设置日历视图月份名称的文本颜色

android中,我使用的是默认的CalendarView.
我将背景设置为浅灰色.但我可以更改日历视图的月视图的颜色吗?
最佳答案
正如您所知,TextView是私有的,似乎没有任何方法可以访问它.

虽然我不推荐它,但您可以使用java.lang.reflect包完成此操作:

    try
    {
        CalendarView cv = (CalendarView) this.findViewById(R.id.calendarView1);
        Class<?> cvClass = cv.getClass();
        Field field = cvClass.getDeclaredField("mMonthName");
        field.setAccessible(true);

        try
        {
            TextView tv = (TextView) field.get(cv);
            tv.setTextColor(Color.RED);
        } 
        catch (IllegalArgumentException e)
        {
            e.printStackTrace();
        }
        catch (IllegalAccessException e)
        {
            e.printStackTrace();
        }
    }
    catch (NoSuchFieldException e)
    {
        e.printStackTrace();
    }

转载注明原文:java – 设置日历视图月份名称的文本颜色 - 代码日志