Я должен использовать Typeface.createFromFile()
, чтобы использовать местоположение шрифта внутри памятки пользователя, поэтому файл шрифта будет выбран пользователем, а затем использован для изменения шрифта зрения. Я не могу использовать Typeface.createFromAsset(getAssets(),"FileAssets");
, потому что файл шрифта является динамическим и может быть выбран пользователем. Код ниже - пример кода для изменения стиля шрифта textview, но он не работает. Как я могу справиться с этим?Невозможно изменить стиль шрифта представления с помощью Typeface.createFromFile()
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.textview);
File file = new File(Environment.getExternalStorageDirectory()+"/testfont/","font1.ttf");
if (file.exists()) {
try {
Typeface tb = Typeface.createFromFile(file.getPath());
tv.setTypeface(tb);
}
catch (RuntimeException e) {
Log.d("TED", "Unable to create a font from " + file.getName());
}
}
}
}
Так что, думая, вы можете получить абсолютный путь шрифта, когда пользователь сначала его выбирает и где-то хранит, как в настройках или базе данных; то вам не придется беспокоиться о проблемах с контентом – Eenvincible
Я изменил его на это, но все равно он не работает Файл file = new File (Environment.getExternalStorageDirectory() + "/ testfont /", "font.ttf")) ; – user3351571