ti-enxame.com

Android - Adicionando imagens ao projeto

Sou novato em Android e estou usando Eclipse ADT para criar um aplicativo simples. Este aplicativo possui um botão que altera sua imagem de plano de fundo com base nos cliques do usuário.

Percebi que existem 4 pastas para imagens no meu projeto: drawable-hdpi, drawable-ldpi, drawable-mdpi, and drawable-xhdpi.

e também notei que as imagens que estão lá atualmente (o ícone do iniciador) são de tamanhos diferentes.

Isso significa que eu tenho que usar algum software de edição de imagem para criar uma imagem para cada resolução para cada uma das minhas imagens? Ou (espero), existe uma maneira de importar uma imagem e isso é feito automaticamente por mim?

Obrigado!

18
Jan Tacci

Imagens e outros arquivos visuais são armazenados em um ou mais diretórios desenháveis. Se apenas em um diretório, Android dimensionará a imagem conforme necessário. Se mais de um diretório for usado, Android selecionará a imagem de tamanho apropriado).

  • drawable-ldpi - Imagens de baixa densidade
  • drawable-mdpi - Imagens de média densidade
  • drawable-hdpi - Imagens de alta densidade
  • drawable-xhdpi - Imagens de alta densidade extra (por exemplo, telas parecidas com retina)
  • drawable-xxhdpi - Imagens extra-alta densidade (dispositivos como Nexus 10, Samsung Galaxy S4, HTC One e Sony Xperia Z)
  • drawable-xxxhdpi - Imagens triplas de alta densidade extra ( Nexus 6 e 9 )

(Observação: os arquivos XML também podem ser gravados e armazenados como desenháveis. Esses tipos de arquivos podem controlar quando várias imagens devem ser usadas com base no estado de uma exibição ou em outras configurações visuais, como gradientes, bordas etc.)

Então, o que deveria você faz?

Para obter melhores resultados (a partir de documentos para desenvolvedores Android ):

Para gerar essas imagens, você deve começar com o recurso bruto em formato vetorial e gerar as imagens para cada densidade usando a seguinte escala de tamanho:

  • xxxhdpi: 4.0
  • xxhdpi: 3.0
  • xhdpi: 2.0
  • hdpi: 1.5
  • tvdpi: 1.33 (somente TVs)
  • mdpi: 1.0 (linha de base)
  • ldpi: 0,75

Isso significa que, se você gerar uma imagem de 200x200 para dispositivos xhdpi, deverá gerar o mesmo recurso em 150x150 para hdpi, 133x133 para tvdpi, 100x100 para mdpi e, finalmente, uma imagem de 75x75 para dispositivos ldpi.

Se você quiser apenas usar uma imagem e deixar Android dimensionar para você:

Mais de 75% dos dispositivos Android agora têm resoluções hdpi ou maiores, de acordo com o Painel no Android . se você criar uma imagem em hdpi, por exemplo, ela ficará perfeita em cerca de um terço dos dispositivos, aumentará para alguns e diminuirá para cerca de 25% dos dispositivos.Em geral, acho que seria melhor diminuir o tamanho do que aumentando também.

44
Ben Jakuben

Isso significa que eu tenho que usar algum software de edição de imagem para criar uma imagem para cada resolução para cada uma das minhas imagens? Ou (espero), existe uma maneira de importar uma imagem e isso é feito automaticamente por mim?

Se você já possui fontes de alta resolução (ou formatos de gráficos vetoriais) de suas imagens, pode usar o Android Asset Studio para gerar ícones/imagens de suas próprias imagens de origem para toda densidade (menos xxhdpi). Você também pode criar ícones/imagens com o padrão Android, que pode ser usado para várias versões do Android. Isso economizará um pouco do trabalho de redimensionar e salvar com uma ferramenta de edição de imagens.

3
Steven Byle