Eu apliquei uma fonte personalizada para a TextView
, mas isso não parece alterar o tipo de letra.
Aqui está o meu código:
Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(myTypeface);
Alguém pode me tirar desta questão?
android
custom-font
android-fonts
android-typeface
CASCAVEL
fonte
fonte
myTextView.setTypeface(myTypeface);
Respostas:
No Mobiletuts +, há um tutorial muito bom sobre formatação de texto para Android. Dica rápida: personalizar fontes do Android
EDIT: Testei-me agora. Aqui está a solução. Você pode usar uma subpasta chamada de fontes, mas ela deve estar na
assets
pasta e não nares
pasta. assimAlém disso, verifique se o final da fonte, ou seja, o final do próprio arquivo de fonte está em minúsculas. Em outras palavras, não deve ser,
myFont.TTF
masmyfont.ttf
dessa maneira deve estar em letras minúsculasfonte
createFromAsset
a função aponta diretamente para dentroassets
do diretório)Depois de tentar a maioria das soluções descritas neste tópico, encontrei acidentalmente o Calligraphy ( https://github.com/chrisjenx/Calligraphy ) - uma biblioteca de Christopher Jenkins que permite adicionar fontes personalizadas ao seu aplicativo com facilidade. As vantagens de sua biblioteca em comparação com as abordagens sugeridas aqui são:
fonte
Eu sei que já existem boas respostas, mas aqui está uma implementação totalmente funcional.
Aqui está a exibição de texto personalizada:
Aqui estão os atributos personalizados. Isso deve ir para o seu
res/attrs.xml
arquivo:E aqui está como você o usa. Usarei um layout relativo para envolvê-lo e mostrar a
customAttr
declaração, mas obviamente pode ser o layout que você já possui.fonte
customAttrs
refere meu projeto?xmlns:customAttrs="http://schemas.android.com/apk/res-auto"
. Isso obtém automaticamente os atributos definidos para visualizações personalizadas. Nesse caso, você tem um atributo chamado customFont definido em attrs.xml. Uma maneira mais fácil de entender é analisarxmlns:android="http://schemas.android.com/apk/res/android"
qual define o espaço para nome dos seus atributos do Android. Então, se você mudou isso paraa
, em vez dissoandroid:text
, seriaa:text
.Eu usei isso com sucesso antes. A única diferença entre nossas implementações é que eu não estava usando uma subpasta em ativos. Não tenho certeza se isso vai mudar alguma coisa, no entanto.
fonte
Desde que você tenha colocado a fonte no lugar certo e não haja erro no próprio arquivo, seu código deve funcionar assim, RATTLESNAKE.
No entanto, seria muito mais fácil se você pudesse definir uma fonte no seu xml de layout, assim:
Com o acompanhamento
res/values/styles.xml
:Criei algumas ferramentas especificamente para esse fim. Consulte este projeto no GitHub ou dê uma olhada nesta postagem do blog que explica tudo.
fonte
A melhor maneira de fazer isso A partir da versão de pré-visualização do Android O, é assim:
Funciona apenas se você tiver o android studio-2.4 ou superior
janela Novo Diretório de Recursos é exibida.
R.font.dancing_script
,R.font.la_la
eR.font.ba_ba
.Em seguida, devemos criar uma família de fontes:
Coloque cada atributo de arquivo, estilo e peso de fonte no elemento de marca de fonte. O XML a seguir ilustra como adicionar atributos relacionados à fonte no XML do recurso de fonte:
Adicionando fontes a um TextView:
A partir da documentação
Todas as etapas estão corretas.
fonte
Para fontes personalizadas no Android, crie uma pasta no nome da pasta de ativos: "fontes" coloque o arquivo fonts.ttf ou .otf desejado.
Se você estender o UIBaseFragment:
Caso contrário, se estender a Atividade:
fonte
Você pode usar o PixlUI em https://github.com/neopixl/PixlUI
importe seu .jar e use-o em XML
fonte
Como não estava satisfeito com todas as soluções apresentadas no SO, criei as minhas. É baseado em um pequeno truque com tags (ou seja, você não pode usar tags no seu código), eu coloquei o caminho da fonte lá. Portanto, ao definir visualizações, você pode fazer o seguinte:
ou isto:
Agora você pode acessar / configurar explicitamente a exibição como:
ou apenas configure tudo via:
E qual é a aula de mágica que você pergunta? Colado principalmente de outras postagens de SO, com métodos auxiliares para atividade e fragmentos:
fonte
Infelizmente, não há uma boa solução para isso.
Eu já vi muitos artigos sobre o uso de um TextView personalizado, mas o que eles esquecem é que não são apenas as visualizações de texto que podem implementar fontes e há visualizações de texto ocultas em outras visualizações inacessíveis ao desenvolvedor; Eu não vou nem começar no Spannable .
Você pode usar um utilitário de fonte externa como:
Ferramenta de fonte de caligrafia
MAS Isso faz um loop em todas as visualizações do aplicativo em sua criação e, mesmo que esse utilitário perca algumas visualizações (o ViewPager renderiza a fonte normal), você tem o problema de que, quando o Google atualiza suas ferramentas de criação, isso ocasionalmente trava porque precisa direcionar propriedades obsoletas. Também é um pouco lento, pois usa o Reflection de Java .
Cabe realmente ao Google consertar isso. Precisamos de um melhor suporte de fontes no Android. Se você olhar para a solução do iOS, eles literalmente têm centenas de fontes incorporadas para seleção. Deseja uma fonte personalizada? Basta soltar um TFF e ele é utilizável.
Por enquanto, agora estávamos limitados à oferta que o Google nos oferece, que é extremamente limitada, mas felizmente otimizada para dispositivos móveis.
fonte
Certifique-se de colar o código acima em onCreate () após sua chamada para o super e a chamada para setContentView (). Esse pequeno detalhe me manteve desligado por um tempo.
fonte
Com o Android 8.0, usar Fontes personalizadas no aplicativo ficou fácil com
downloadable fonts
. Podemos adicionar fontes diretamenteres/font/ folder
na pasta do projeto e, assim, as fontes ficam automaticamente disponíveis no Android Studio.Agora defina o
fontFamily
atributo para a lista de fontes ou clique em mais e selecione a fonte de sua escolha. Isso adicionarátools:fontFamily="@font/your_font_file"
linha ao seu TextView.Isso irá gerar automaticamente alguns arquivos.
1. Na pasta de valores, ele será criado
fonts_certs.xml
.2. No Manifesto, adicionará estas linhas:
3)
preloaded_fonts.xml
fonte
Você pode usar a biblioteca fácil e simples de terceiros EasyFonts para definir uma variedade de fontes personalizadas para o seu
TextView
. Ao usar esta biblioteca, você não precisa se preocupar em baixar e adicionar fontes na pasta assets / fonts. Também sobre a criação de objetos Typeface.Ao invés de
Simplesmente:
Esta biblioteca também fornece a seguinte face da fonte.
fonte
Eu tive o mesmo problema, o TTF não apareceu. Mudei o arquivo da fonte e, com o mesmo código, está funcionando.
fonte
Se você deseja carregar a fonte da rede ou estilizá-la com facilidade, pode usar:
https://github.com/shellum/fontView
Exemplo:
fonte
Bem, após sete anos, você pode alterar o aplicativo inteiro
textView
ou o que deseja facilmente usando asandroid.support
bibliotecas 26 ++.Por exemplo:
Crie seu pacote de fontes app / src / res / font e mova sua fonte para ele.
E no tema do seu aplicativo, adicione-o como uma fonte
Exemplo para uso
textView
apenas:E adicione ao seu tema principal:
Atualmente, ele trabalha entre 8.1 e 4.1 API Jelly Bean E essa é uma grande variedade.
fonte
Resposta da atualização: O Android 8.0 (API nível 26) apresenta um novo recurso, Fontes em XML. basta usar o recurso Fontes no XML em dispositivos com Android 4.1 (nível 16 da API) e superior, use a Biblioteca de suporte 26.
veja este link
Resposta antiga
Existem duas maneiras de personalizar fontes:
Caminho 1: Tipo de atualização.class ||| melhor maneira
chamada FontsOverride.setDefaultFont () na classe estende Application. Esse código fará com que todas as fontes de software sejam alteradas, mesmo que brinda fontes
AppController.java
FontsOverride.java
Caminho 2: use setTypeface
para uma visualização especial, basta chamar setTypeface () para alterar a fonte.
CTextView.java
FontUtils.java
fonte
A maneira correta de fazer isso na API 26 é descrita na documentação oficial aqui:
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
Isso envolve colocar os arquivos ttf na pasta res / font e criar um arquivo da família de fontes.
fonte
A solução mais simples android suportado agora!
Use fonte personalizada em xml:
veja detalhes:
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
fonte
TextView txt = (TextView) findViewById(R.id.txt_act_spalsh_welcome); Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Aramis Italic.ttf"); txt.setTypeface(font);
o nome da fonte deve estar correto e se divertir
fonte
Sim, as fontes para download são tão fáceis, como Dipali disse.
É assim que se faz...
TextView
.fontFamily
lista suspensa. Se não estiver lá, encontre o sinal de intercalação (o> e clique nele para expandirtextAppearance
) sob o.font-family
suspensa.more fonts
Google Fonts
Add font to project
BÔNUS: Se você quiser estilizar TUDO com texto em seu aplicativo com a fonte escolhida, basta adicionar
<item name="android:fontfamily">@font/fontnamehere</item>
ao seustyles.xml
fonte