0

几个月前,我开发了一个针对 API 19 并且使用 API 19 编译的 android 应用程序。我所做的一件事是我更改了 Action Bar Title 的字体以及基于滚动和动态的颜色其他因素。为此,我使用了以下方法:

// change the font of action bar
        int titleId = getResources().getIdentifier("action_bar_title", "id",
            "android");
        TextView abTitle = (TextView) findViewById(titleId);
        Typeface typeFace = Typeface.createFromAsset(getAssets(),
                "fonts/Lato-Regular.ttf");
        abTitle.setTypeface(typeFace);


        //this part is dynamic based on the calculation of ratio 
        abTitle.setTextColor(getResources().getColor(R.color.white));
        abTitle.setAlpha(ratio);

现在我已经切换到Material Desing并使用了AppCompat v7: 22+. 但是当我运行应用程序时,它会崩溃并NullPointerException在以下行中给我一个:

abTitle.setTypeface(typeFace);

所以它似乎获得了标题的 id 但它找不到TextView

任何想法或其他方式来实现这一点将不胜感激。

4

0 回答 0