Preciso esclarecer algumas dúvidas sobre os ativos de imagem do meu aplicativo,
se eu especificar em um arquivo xml que a altura de algo [visualização da imagem] é de 50 graus de altura
que tipo de tela devo escolher na pasta de recursos?
drawable, hdpi, ldpi, mdpi, xhdpi,
para ter a imagem de 50 px de altura,
e qual é a porcentagem para imagens maiores e menores em comparação com a imagem de base,
como no iOS, @ 2x, é literalmente 2 vezes o tamanho da imagem, e você diz programaticamente o tamanho normal,
obrigado!
android
android-resources
android-image
android-screen-support
manuelBetancurt
fonte
fonte
Respostas:
mdpi
é a densidade de referência - ou seja, 1 px em umamdpi
tela é igual a 1 mergulho. A proporção para o dimensionamento do ativo é:Embora você realmente não precise se preocupar, a
tvdpi
menos que esteja desenvolvendo especificamente para o Google TV ou o Nexus 7 original - até mesmo o Google recomenda simplesmente usarhdpi
recursos.O que isso significa é que se você estiver fazendo uma imagem de 48dip e planeja suportar até
xxhdpi resolution
, você deve começar com uma imagem de 144px (192px se quiser ativos nativos para xxxhdpi) e fazer as seguintes imagens para as densidades:E estes devem exibir em aproximadamente o mesmo tamanho em qualquer dispositivo, desde que você colocou estes em pastas específicas densidade (por exemplo
drawable-xhdpi
,drawable-hdpi
, etc.)Para referência, as densidades de pixel para estes são:
fonte
Com base na resposta do kcoppock , criei o seguinte script de shell para redimensionar automaticamente todas as imagens para o tamanho correto e copiá-las nas respectivas pastas drawable- * - do Android!
Crie um script de shell e cole o seguinte código:
createAndroidImages.sh
Coloque seu script em uma pasta e suas imagens originais em uma subpasta, por exemplo:
Execute o script de shell no terminal:
sh createAndroidImages.sh
Para copiar as imagens criadas diretamente para o seu projeto Android Studio:
Você Terminou! Espero que isso ajude alguém!
PS Observe que as imagens originais devem ter pelo menos quatro vezes a largura em pixels, do que a largura desejada em dpi (por exemplo, 4 (fator xxxhdpi) * 30dpi => 120px) para resultados ideais.
fonte
kcoppock fez um ótimo trabalho ao explicar as densidades da tela do Andorid. Eu só gostaria de acrescentar mais um ponto a respeito da pergunta original.
O ícone do iniciador do Android Tablet usa um depósito de densidade.
De acordo com a postagem do desenvolvedor do Google Nick Butcher no Google+
Encontre a fonte aqui
fonte
Aqui estão meus cálculos para aumentar e diminuir as imagens para android-
ldpi (120 dpi, tela de baixa densidade) - 36px x 36px (0,19) (1)
mdpi (160 dpi, tela de densidade média) - 48px x 48px (0,25) (1,33)
hdpi (240 dpi, tela de alta densidade) - 72px x 72px (0,38) (2)
xhdpi (320 dpi, tela de densidade extra-alta) - 96px x 96px (0,5) (2,67)
xxhdpi (480 dpi, tela de densidade extra-extra-alta) - 144px x 144px (0,75) (4)
xxxhdpi (640 dpi, tela de densidade extra-extra-extra-alta) - 192px x 192px (1,0) (5,33)
Meu breve artigo é útil para criar recursos de imagem usando imagemagick, quando há várias imagens.
fonte