我必須使用Typeface.createFromFile()
使用用戶的memopry裏面的字體的位置視圖的字體樣式,所以字體文件將由用戶來選擇,然後用於更改字體的觀點。我不能使用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 file = new File(Environment.getExternalStorageDirectory()+「/ testfont /」,「font.ttf」)) ; – user3351571