Res-map en dpi?

Ik wil alleen maar verduidelijken dat met de res-mappen in Android, met apparaten met een lagere resolutie, ze automatisch hetzelfde benoemde item uit de map ldpi krijgen? Dit is zodat ik verschillende assets kan maken voor kleinere schermen?

Moet ik activa hebben in alle 4 mappen (ldpi - xhdpi) zodat deze op apparaten van alle formaten werkt? Of kan ik alleen activa in één map hebben als de activa voor alle apparaten hetzelfde zijn?

En wat als mijn activa alleen anders zijn voor apparaten met een lage resolutie, moet ik de inhoud van elk van de andere mappen spiegelen zodat ze allemaal dezelfde items bevatten?

0

2 antwoord

Ik zou willen voorstellen om dit artikel grondig te lezen om precies te weten hoe het werkt, maar in principe zal het de resource vinden die het dichtst bij de passende grootte beschikbaar is, dus nee, je hoeft niet noodzakelijkerwijs in alle mappen te mirroren.

Van het kwalificatiegedeelte met name , legt dit citaat het goed uit.

Houd er rekening mee dat wanneer het Android-systeem kiest welke bronnen moeten worden gebruikt   runtime gebruikt het bepaalde logica om de "beste overeenkomst" te bepalen   middelen. Dat wil zeggen, de kwalificaties die u gebruikt, hoeven niet exact overeen te komen   de huidige schermconfiguratie in alle gevallen voor het systeem   om ze te gebruiken. Met name wanneer u bronnen selecteert op basis van de grootte   kwalificaties, gebruikt het systeem middelen die zijn ontworpen voor een scherm   kleiner dan het huidige scherm als er geen middelen zijn die beter zijn   overeenkomen (een groot scherm gebruikt bijvoorbeeld een scherm met normale afmetingen   middelen indien nodig). Echter, als de enige beschikbare bronnen zijn   groter dan het huidige scherm, zal het systeem ze niet gebruiken en uw   applicatie zal crashen als er geen andere bronnen overeenkomen met het apparaat   configuratie (bijvoorbeeld als alle lay-outbronnen zijn gelabeld met   de xlarge-kwalificatie, maar het apparaat heeft een scherm van normaal formaat). Voor   meer informatie over hoe het systeem bronnen selecteert, lees Hoe   Android vindt de best passende bron.

1
toegevoegd

Laten we je vraag opsplitsen in drie afzonderlijke vragen.

Ik wil alleen verduidelijken, met de res-mappen in Android, met lager   resolutie-apparaten, krijgen ze automatisch hetzelfde benoemde item   de map ldpi? Dit is zodat ik verschillende bezittingen voor kleinere kan maken   schermen?

Heel eenvoudig, ja. Dat is waar het systeem voor is. Zolang u items met dezelfde naam gebruikt, kiest Android automatisch degene die het beste werkt voor uw apparaat, afhankelijk van de dpi van het scherm.

Moet ik activa hebben in alle 4 mappen (ldpi - xhdpi) waarvoor dit moet   werken op apparaten van alle afmetingen? Of kan ik gewoon items in één map hebben als   de activa zijn allemaal hetzelfde voor alle apparaten?

U hebt de items in alle mappen niet nodig om deze op alle apparaten te laten werken . Als u echter goed werkt , heeft u in alle mappen activa nodig, allemaal met hun eigen afmetingen, afhankelijk van de map. Als u slechts één map gebruikt met een bepaalde hoeveelheid activa, werkt deze nog steeds. Uw bedrijfsmiddelen worden alleen geschaald door Android zelf, waardoor sommige elementen er op sommige apparaten met een hogere/lagere dpi erg lelijk uit kunnen zien. Laat staan ​​dat de schaalvergroting je hele lay-out kan verpesten.

En wat als mijn activa alleen anders zijn voor apparaten met een lage resolutie, toch?   moeten de inhoud van elk van de andere mappen spiegelen, zodat ze allemaal   hebben dezelfde items binnen?

Met 'alleen anders voor apparaten met een lage resolutie', bedoelt u dat het hele item anders is? Bijvoorbeeld een blauwe afbeelding in plaats van een rode? Als dat het geval is, moet u nog steeds dezelfde naam gebruiken als de items in de andere mappen. De werkelijke inhoud kan verschillen, het besturingssysteem controleert alleen de namen wanneer de assets worden gepakt.

Raadpleeg deze gids voor meer informatie over het ondersteunen van meerdere schermformaten:

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

0
toegevoegd