几个月前,我开发了一个针对 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
任何想法或其他方式来实现这一点将不胜感激。