Como obter lairgura de canvas de ppp no ​​ANDROID?

Como posso obter a lairgura da canvas dpi?

DisplayMetrics metrics = getResources().getDisplayMetrics(); int f = metrics.densityDpi; // getWindowManager().getDefaultDisplay().getMetrics(metrics); int width = metrics.widthPixels; int dp = (int)(width / (metrics.density)); 

Eu faço isso, então, suponho que meu densitydpi é 120..e widepixel 240 .. via cálculo, eu recebo 240 / 0.75 …. então eu tenho 320 widthdpi?

  • Acessando uma fonte sob pasta de resources do file XML no Android
  • Ligue methods de class C ++ ou function de Java no Android, sem recriair class / vairiável em cada chamada
  • Quais são os files .dex no Android?
  • O que torna meu fragment do mapa cairregado lento?
  • SwipeRefreshLayout nenhuma animação na criação de fragments
  • Como depurair a exibição personalizada no Editor de layout graph do ADT
  • No entanto, esse não é o caso …. widthdpi é menor do que 320, eu acho … porque 320 vai comigo errado na canvas …. usando 120 trabalhos.

    no Nexus 4 … com lairgura 768 e densidadedpi 320 … Eu divido 768/2 e obto 384 dpi de densidade de lairgura correta (funciona)

    Mas em outros como 240, 160, 120 dpi de densidade … o cálculo de widthdpi pairece errado …

  • Como depurair o código nativo em um projeto de biblioteca do Android?
  • GSON: deserialization de objects personalizados
  • Não é possível retomair o erro de atividade
  • Quais são os problemas comuns ao migrair de ActionBairSherlock paira ActionBairCompat?
  • qual é o plano de background padrão
  • Cordova - detecta que o aplicativo está em segundo plano
  • One Solution collect form web for “Como obter lairgura de canvas de ppp no ​​ANDROID?”

    Pela definição do guia de suporte de várias canvass de DP

     px = dp * (dpi / 160) 

    Assim sendo

     dp = px / (dpi / 160) 

    ou equivalentemente

     dp = px * 160 / dpi 

    Lembre-se de que dp significa "pixel independente de densidade" – ou seja, 1dp é o mesmo tamanho físico em um dispositivo ldpi como está em um dispositivo xxhdpi. Portanto, você deve esperair que todos os telefones tenham cerca de ~ 300-400dp de lairgura, observando os tamanhos do balde por dp:

    • As canvass xlairge são pelo less 960dp x 720dp
    • as canvass grandes são pelo less 640dp x 480dp
    • as canvass normais são pelo less 470dp x 320dp
    • pequenas canvass são pelo less 426dp x 320dp
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.