Pergunta

Eu quero usar fontes externas em meu aplicativo. Eu tentei adicionar nova fonts usando AssetManager mas não funcionou. Abaixo está o meu código:

Typeface face;

face = Typeface.createFromAsset(getAssets(), "font.otf");

textview.setTypeface(face);

mas não mostrando o texto ...

Por favor me ajude com isso.

Foi útil?

Solução

AFAIK, Android não suporta OpenType. Use uma fonte TrueType em vez.


UPDATE: Aparentemente OpenType agora é suportado, pelo menos um pouco. Não foi suportado originalmente, assim que você vai querer testar sua fonte completamente em qualquer versões do Android o aplicativo irá suportar.

Outras dicas

Para acessar a nossa fonte facilmente, precisamos empacotá-lo com a nossa aplicação de uma forma que o nosso código pode, posteriormente, carregá-lo. Para fazer isso, criamos uma pasta Fontes em nossos ativos direta

Esta pode ser sua .xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
    android:id="@+id/DefaultFontText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="Here is some text." />
<TextView
    android:id="@+id/CustomFontText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="Here is some text.">
    </TextView>

Write seguinte código em sua classe .java

Typeface tf = Typeface.createFromAsset(getAssets(),
            "fonts/BPreplay.otf");
    TextView tv = (TextView) findViewById(R.id.CustomFontText);
    tv.setTypeface(tf);

Android suporta OTF (não tenho certeza de qual versão do SDK, mas ele definitivamente funciona com 1,6), eu estava usando um tipo de letra máquina de escrever OTF por um tempo, mas a renderização é longe de ser tão preciso quanto com a versão TTF Acabei -se usando (via conversor de fonte on-line). A linha de base foi em todo o lugar (algumas letras eram um total de 2 pixels mais elevados do que outros) e em telefones LDPI como o HTC Wildfire o problema é muito ampliado devido aos pixels maiores.

Eu estava tendo o mesmo problema. Minha fonte não estava trabalhando no android quer, mas eu precisava de trabalho. Usando um editor de fontes, eu copiei os personagens da minha fonte para a fonte que vem com o exemplo FontSampler do Android-src-2_1. Funcionou perfeitamente.

Enquanto eu vou admitir que meu método era questionável do ponto de propriedade intelectual de vista, eu realmente não acabam usando a fonte original, como todos os personagens foram substituídas e todas as referências para a fonte antiga, onde substituíram bem . Eu já havia tentado 'olhando' para a forma como as duas fontes foram definidos, mas fazer todas as variáveis ??da fonte jogo não quer trabalhar. Assim, no nido, eu usei um esqueleto da fonte original como um modelo para a nova fonte.

suportes android tanto OTF e de TTF formatos, eu experimentei os dois.

tv3 = (TextView)findViewById(R.id.tv1);
    Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/TRAJANPRO-BOLD.OTF");
    tv3.setTypeface(typeFace);

este é o passo i usado para ambos os idiomas inglês e locais

Use Fontinator ele suporta OTF cabine e TTF fontes

É um Android-Library se torna mais fácil, para fontes personalizadas de uso.

https://github.com/svendvd/Fontinator

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top