2011-12-20 2 views
0

Я использую класс гарнитуры шрифта, чтобы установить шрифт Monotype Corsiva для EditTextКак установить путь для шрифта для файла шрифта в андроиде

EditText ed=(EditText) findViewById(R.id.editexthead); 
String path="C:\\MTCORSVA.TTF"; 
Typeface tf=Typeface.createFromFile(path); 
ed.setTypeface(tf); 

Сила программы закрывается с исключением Есть ли другой способ задайте путь ..

И когда я пытаюсь вручную хранить .TTF на SD-карте, он не отображает файл ... для чего-то. Я не хочу использовать папку с ресурсами, чтобы установить шрифт ... кто-нибудь с решением .. ?? Пожалуйста, ПОМОЩЬ

ответ

0

Почему вы не хотите хранить его в папке с ресурсами? Вот для чего это. Несмотря на это, вы не можете ссылаться на свой локальный жесткий диск.

(также, личное мнение, Monotype Corsiva это ужасный, ужасный шрифт)

EDIT: Я хотел бы добавить, вы должны быть в состоянии сделать это так, как вы делаете это, вы просто не можете используйте локальный жесткий диск. Просто получите ссылку на ваш TypeFace как File, в зависимости от того, где вы их сохраняете (например, Environment.getExternalStorageDirectory()) и используйте Typeface.createFromFile(file).

+0

спасибо человеком за ранний ответ, в основном его, как я разбор файл XML, который находится на сервере, файл имеет поле под названием fontstyle = «anyfont» для каждого editext, textview, button и т. д., так что, если я сохраню его в папке assests, мне придется делать, если еще условия, которые делают мою работу более утомительной .... В любом случае я думаю, что я «Мне нужно сделать это как только ... и да, я слишком ненавижу шрифт Monotype Corsiva, просто при программировании я скопировал шрифт, не видя его имени только для целей тестирования ... еще раз спасибо – AMUL

+0

Не нужно так быстро принимать если ответ не поможет. :) Но я редактировал то, что, надеюсь, может помочь. – kcoppock

1

Сохраните файл шрифт в каталоге ресурсов и получить к нему с этим кодом:

Typeface font = Typeface.createFromAsset(getApplicationContext().getAssets(), "MTCORSVA.TTF") 
view.setTypeface(font); 
+0

@ Martyn- я попробовал это таким образом, но это ограничивает меня использованием только папки с ресурсами ... Не существует другого варианта .. ???? – AMUL

+0

Nope - вот для чего предназначена папка с ресурсами! Также вы не можете писать в папку с ресурсами во время выполнения - http://stackoverflow.com/questions/8399505/copy-file-to-assets-folder – Martyn