【发布时间】:2015-10-26 15:46:46
【问题描述】:
我正在尝试更改我的导航抽屉上的字体,我正在使用带有适配器的自定义 xml 文件,因此我可以成功更改 ListView 中每个元素的颜色和背景,但是我无法更改字体,AndroidStudio 给了我一个 null 对象引用 所以,我认为它没有找到 textview。我的代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mDrawerListView = (ListView) inflater.inflate(
R.layout.fragment_navigation_drawer, container, false);
TextView lbl = (TextView) mDrawerListView.findViewById(R.id.section_label);
Typeface tf = Typeface.createFromAsset(getActivity().getAssets(),"fonts/Jaapokki-Regular.otf");
lbl.setTypeface(tf);
mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
}
});
mDrawerListView.setAdapter(new ArrayAdapter<String>(
getActionBar().getThemedContext(),
R.layout.fragment_main,
R.id.section_label,
new String[]{
getString(R.string.title_section1),
getString(R.string.title_section2),
getString(R.string.title_section3),
"Acerca de...",
}));
mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
return mDrawerListView;
}
非常感谢!
【问题讨论】:
-
我怀疑 android 不支持 OpenType 字体。尝试改用 TrueType 字体。 stackoverflow.com/questions/1426244/…。或者尝试使用自定义适配器并从适配器的 getview() 方法更改字体。
-
是的,我正在另一个活动中使用它
标签: android fonts navigation-drawer typeface drawer