我有资产文件夹(Comic_Sans_Reg.ttf)中的字体,我想在微调器上实现它。 当我点击微调器时,文本将取决于字体样式。
这是我的简单代码:
Typeface FontStyle = Typeface.DEFAULT;
Spinner spinner = (Spinner) findViewById(R.id.fontSpinner);
List<String> categories = new ArrayList<String>();
categories.add("Monospace");
categories.add("Sans Serif");
categories.add("Serif");
categories.add("Bold");
categories.add("Italic");
categories.add("Comic");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
String item = adapterView.getItemAtPosition(position).toString();
switch(item) {
case "Monospace":
FontStyle = Typeface.MONOSPACE;
break;
case "Sans Serif":
FontStyle = Typeface.SANS_SERIF;
break;
case "Serif":
FontStyle = Typeface.SERIF;
break;
case "Bold":
FontStyle = Typeface.defaultFromStyle(Typeface.BOLD);
break;
case "Italic":
FontStyle = Typeface.defaultFromStyle(Typeface.ITALIC);
break;
case "Comic":
FontStyle = Typeface.createFromAsset(getApplicationContext().getAssets(), "fonts/Comic_Sans_Reg.ttf");
break;
}
if (mCurrentText.length() > 0)
isEditText = true;
onChangeTextStyle();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// TODO Auto-generated method stub
}
});
点击&#34; Comic&#34; 请给我建议。 在我的日志中有消息&#34; addFontFromAsset无法创建字体字体/ Comic_Sans_Reg.ttf&#34;
谢谢。
答案 0 :(得分:0)
assets文件夹应位于源集内。
并将.ttf files
直接放在assets文件夹中。
src/main/assets/
,请勿添加fonts
文件夹。