如何从 ExternalStorage 和多字体设置字体
How to set typeface from ExternalStorage and multi font
我在 ExternalStorageDirectory
中创建了一个字体列表,并将其保存到 :
ArrayList<String> list = new ArrayList<String>();
如何将 textView 中的字体从 fonts 设置为 myFolder?
此代码仅将字体设置为目录中的一种字体
String root_sd = Environment.getExternalStorageDirectory().toString();
File name = new File(root_sd + "/myFolder/");
File[] files = name.listFiles();
for (int i = 0; i < files.length; i++){
Typeface typeface = Typeface.createFromFile(files[i].getPath());
textView.setTypeface(typeface);
textView.setTextSize(20);
}
这是根据您的代码在 3 个不同的 textView 中使用 3 个不同字体的示例。您可以试试这个而不是删除循环。
String root_sd = Environment.getExternalStorageDirectory().toString();
File name = new File(root_sd + "/myFolder/");
File[] files = name.listFiles();
Typeface typeface = Typeface.createFromFile(files[0].getPath());
textView.setTypeface(typeface);
textView.setTextSize(20);
Typeface typeface2 = Typeface.createFromFile(files[1].getPath());
textView2.setTypeface(typeface2);
textView2.setTextSize(20);
Typeface typeface3 = Typeface.createFromFile(files[2].getPath());
textView3.setTypeface(typeface3);
textView3.setTextSize(20);
我设置了字体列表代码:
public static ArrayList<String> getPersianFonts(Context context) {
ArrayList<String> list = new ArrayList<String>();
try {
String root_sd = Environment.getExternalStorageDirectory().toString();
File name = new File(root_sd + "/myFolder/");
File[] files = name.listFiles();
for (int i = 0; i < files.length; i++){
list.add( files[i].getName() );
}
return list;
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
现在已经从列表中获取字体并设置为 textView 了??
我在 ExternalStorageDirectory
中创建了一个字体列表,并将其保存到 :
ArrayList<String> list = new ArrayList<String>();
如何将 textView 中的字体从 fonts 设置为 myFolder?
此代码仅将字体设置为目录中的一种字体
String root_sd = Environment.getExternalStorageDirectory().toString();
File name = new File(root_sd + "/myFolder/");
File[] files = name.listFiles();
for (int i = 0; i < files.length; i++){
Typeface typeface = Typeface.createFromFile(files[i].getPath());
textView.setTypeface(typeface);
textView.setTextSize(20);
}
这是根据您的代码在 3 个不同的 textView 中使用 3 个不同字体的示例。您可以试试这个而不是删除循环。
String root_sd = Environment.getExternalStorageDirectory().toString();
File name = new File(root_sd + "/myFolder/");
File[] files = name.listFiles();
Typeface typeface = Typeface.createFromFile(files[0].getPath());
textView.setTypeface(typeface);
textView.setTextSize(20);
Typeface typeface2 = Typeface.createFromFile(files[1].getPath());
textView2.setTypeface(typeface2);
textView2.setTextSize(20);
Typeface typeface3 = Typeface.createFromFile(files[2].getPath());
textView3.setTypeface(typeface3);
textView3.setTextSize(20);
我设置了字体列表代码:
public static ArrayList<String> getPersianFonts(Context context) {
ArrayList<String> list = new ArrayList<String>();
try {
String root_sd = Environment.getExternalStorageDirectory().toString();
File name = new File(root_sd + "/myFolder/");
File[] files = name.listFiles();
for (int i = 0; i < files.length; i++){
list.add( files[i].getName() );
}
return list;
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
现在已经从列表中获取字体并设置为 textView 了??