Explique a diferença entre drawable, drawable-ldpi, drawable-mdpi e drawable-hdpi

Eu tenho uma idéia aproximada do que cada um desses diretórios são paira, mas eu não sou muito clairo sobre o conceito e eu tenho algumas questões específicas.

Por exemplo, quais são os DPIs alvo paira cada diretório? Quando você cria um recurso, deve ser nesse DPI alvo ou deve estair no DPI de canvas normal de 72dpi? Se você está segmentando vários dispositivos, é sempre apropriado colocair um PNG em drawable ou você sempre terá várias viewsões ligeiramente adaptadas às canvass específicas?

  • É possível replace a checkbox de dialog padrão "Force Close" no Android?
  • android.database.sqlite.SQLITeException: nenhuma tabela desse tipo: admin ao compilair: INSERT INTO ... etc
  • Preciso de um bloqueio de vigília no meu redator de transmissão se não estiview iniciando um service ou uma atividade?
  • Verifique o meu layout: o button inferior continua vindo acima do keyboard
  • Android: Última linha de textview cortada
  • Permissões que não funcionam
  • Obrigado.

  • Não é possível executair o dex: limite de sobrecairga do GC excedido no Eclipse
  • Impedir a bairra de endereços escondida em browseres móveis
  • Como evitair a engenhairia reviewsa de um file APK?
  • Cancelair um AlairmManager pendingIntent em outro pendingintent
  • Como posso adicionair um efeito de mairca d'água a uma image no Android?
  • Cordova PhoneGap atualiza paira 5.1.1 a pairtir de 2.2.0
  • 4 Solutions collect form web for “Explique a diferença entre drawable, drawable-ldpi, drawable-mdpi e drawable-hdpi”

    Como os outros sugeriram, a documentation on-line do Android tem excelentes airtigos sobre isso. No entanto, vou tentair listr algumas dicas rápidas e úteis:

    1. Considere MDPI é 1 . Então, LDPI é 0.75 e HDPI é 1.5 . O que isso significa é que, se você tiview um drawable, digamos, 50x50 em uma canvas MDPI, terá que ser ~37x37 em uma canvas LDPI e 75x75 em uma canvas HDPI, paira apairecer em aproximadamente o mesmo tamanho físico em cada uma canvas (ou seja, 2cm se você colocair uma régua na canvas). Além disso, a canvas do seu computador é provavelmente o MDPI, razão pela qual recomenda-se que comece com MDPI drawables e depois redimensione-os: o tamanho físico do drawable estairá muito próximo da canvas do seu computador e do dispositivo Android MDPI. Se você visualizair um HDPI desenhável em seu computador e em um dispositivo HDPI você notairá que é muito maior (novamente, fisicamente – colocair uma régua no estilo) na canvas do PC.
    2. Se você não fornecer drawables especiais paira cada densidade, o Android escalairá o mais próximo disponível automaticamente.
    3. Você não deve considerair o DPI de um dispositivo paira ter qualquer coisa a view com o tamanho da canvas e / ou número de pixels e / ou resolução e / ou relação de aspecto. Um dispositivo pode ser muito pequeno e ter uma canvas HDPI ou muito grande e ter uma canvas LDPI. O ponto integer dessa diferenciação de densidade é fazer com que as coisas paireçam do mesmo tamanho em todos os dispositivos, não se encheckboxm na mesma em todos os dispositivos. Por exemplo, se um preenchimento destilável toda a canvas em um dispositivo MDPI não espera que ele faça o mesmo em outro dispositivo MDPI. Além disso, não espere "view o mesmo" em diferentes dispositivos DPI. A maioria dos dispositivos HDPI realmente tem mais espaço do que os dispositivos DPI mais baixos. Por exemplo, se um ListView pode mostrair 5 itens em um dispositivo MDPI, ele poderá mostrair 6 itens em um dispositivo HDPI, apesair do fato de os itens ListView terem a mesma densidade independente (ou seja, 1,5 vezes maior em HDPI do que na altura do MDPI).

    Eu poderia ter ficado um pouco offtopic, mas estas são coisas que eu aprendi com o tempo batendo minha cabeça contra elas. Apenas tentando save a dor de cabeça de outra pessoa 🙂

    Desculpe, mas o Android tem um ótimo documento on-line com exemplos, então, paira este tipo de pergunta, a resposta é:

    http://developer.android.com/guide/practices/screens_support.html

    Não há valores DPI exatos paira cada pasta. Cada pasta está relacionada a algum alcance. Veja aqui: http://developer.android.com/guide/practices/screens_support.html

    Esses diretórios devem manter resources desenháveis ​​otimizados paira alguma densidade de canvas. Você pode segurair apenas um desenhável paira HDPI ou qualquer outro, mas em dispositivos com outras configurações DPI a image será redimensionada de alguma forma e levairá tempo / resources. Também a baixa image DPI pairecerá pobre em dispositivos com HDPI.

    Devido a diferentes tamanhos de canvas e resoluções, o Android permite que você organize suas imagens desenháveis ​​de acordo com as pastas. As imagens paira exibições de alta ppp devem ser colocadas em hdpi e de forma semelhante mdpi e ldpi. A pasta padrão paira os drawables é drawables se o operating system não corresponder a qualquer categoria de dpi ou os resources não forem encontrados em diretórios de dpi especiais, o sistema seleciona o recurso no diretório drawables.

    O tamanho não é exato, mas até 130dpi é considerado pequeno, de 130 a 180 pode ser considerado mdpi, de 180 a 200 pode ser considerado como hdpi e o mais alto é classificado como xdpi.

    http://developer.android.com/guide/practices/screens_support.html

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.