Per definire valori di dimensioni diverse per Android TV 1080p e 720p, devo decidere quale qualificatore dovrei usare. Quando sto cercando di usare qualcosa come valori-sw1080p, values-sw720p, non funziona. I valori in dimes.xml non influenzano nulla. Ma funziona se uso qualificatore come -sw540dp, -sw360dp. Non capisco davvero perché così. Qualche idea? Grazie.Quale qualificatore di risorse devo usare per supportare Android TV 1080p, 720p? - Android
risposta
Prima di tutto, si è sostanzialmente corretto. È possibile utilizzare
sw360dp/ : 720p screens
sw540dp/ : 1080p screens
Il motivo per cui sw720p/sw1080p
non funzionano è perché non esistono come qualificatori.
This is the official documentation su come lavorare con diverse dimensioni dello schermo. Come puoi leggere, ci sono due diverse unità da prendere in considerazione se vuoi calcolare la tua cartella dp
: il numero di pixel (ad es. 720) e la densità dei pixel (ovvero, l'unità di dot-per-inch, o quanti i pixel si adattano a un singolo pollice).
La formula è piuttosto semplice:
px = dp * (dpi/160)
mentre in questo caso abbiamo:
dp = px * 160/dpi
Naturalmente, un televisore può avere diverse densità: questa tabella ti dice più su di esso (fonte : official documentation).
Supponiamo che abbiamo un display 1080p con una alta densità in più (@ 320 dpi). Facciamo due conti
dp = 1080 * 160/320 = 540
in modo da ottenere la cartella appropriata per mettere le risorse in
EDIT:. Sulla stessa pagina, si afferma che non v'è uno specifico tvdpi
qualificatore che è possibile utilizzare per le risorse relative alla TV (circa 213 dpi
).
Grazie. Significa che tutti i TV 1080p e 720p sono 320 DPI? (Perché il mio cliente non conosce il DPI quando ho chiesto). –
Sulla stessa pagina, si afferma che 'tvdpi' è di circa 213 dpi. – Sebastiano
Dalla mia osservazione una TV 720p usa 'tvdpi' mentre una TV 1080p usa' xhdpi'. Ciò significa che ** entrambi ** hanno dimensioni indipendenti dalla densità di 960x540 dp (approssimative per 720p) e si inseriscono entrambe nel bucket 'sw540dp'. Quindi credo che l'uso di 'sw360dp' per il target 720p sia errato. –
Ci sono tre densità di schermo che possono essere considerate per Android TV e tre qualificatori corrispondenti. Questi includono:
- tvdpi - (213dpi) - destinati a 720p televisori;
- xhdpi - (320 dpi) - progettato per televisori 1080p (HD);
- xxxhdpi - (640 dpi) - progettato per televisori 4k (Ultra HD).
Ma secondo https://developer.android.com/training/tv/start/layouts.html#density-resources:
Il layout TV dovrebbe mirare ad una dimensione dello schermo di 1920 x 1080 pixel [standard di 1080p/HD], e poi consentire al sistema Android per il downscaling gli elementi di layout per 720p se necessario.
Questo implica che, se si segue questo consiglio e progettare sempre ad un 1080p specifiche, è possibile utilizzare il -television
UI Mode Qualifier e da fare con esso.
Se è necessario fornire immagini e layout diversi per i diversi formati TV, è tuttavia possibile utilizzare i qualificatori di densità dello schermo sopra.
Le immagini e i layout "standard" per TV possono essere memorizzati in una cartella -xhdpi
, poiché xhdpi
è il qualificatore utilizzato per i televisori 1080p.
Se per le TV 4k sono richieste versioni (opzionali) ad alta risoluzione, possono essere fornite come immagini "2x" e memorizzate in una cartella drawable-xxxhdpi
. Allo stesso modo, le dimensioni/layout destinati a targetizzare solo 4k TV potrebbero essere inseriti in -xxxhdpi
.
(Si noti in particolare che la qualificazione -tvdpi
è specifico a 720p, ed è quasi certamente non quello che si desidera utilizzare per sostenere moderni televisori.)
La documentazione è scarsa e un po 'contraddittorio, ma ho basare questo in primo luogo su queste fonti:
https://developer.android.com/guide/practices/screens_support.html https://stackoverflow.com/a/11581786/925478
dispositivo- 1. Impostazioni predefinite HLS per 480p | 720p | 1080p
- 2. Android: quale formato di immagine devo usare e perché?
- 3. Admob per l'applicazione Android TV
- 4. android live streaming di tv
- 5. Preferenze Android TV standard
- 6. Android - quale usare Attivo Realm Android o
- 7. Quale CursorAdapter devo usare?
- 8. Quale Eclipse per Android?
- 9. Come ottenere dati di anteprima della fotocamera Android 720p?
- 10. Regole di denominazione per risorse Android
- 11. Risorse Android per genere
- 12. Quale libreria di convalida java devo usare?
- 13. android 3d live wallpaper - quale motore usare?
- 14. Devo usare ActionBarSherlock per le app Android 4.0+?
- 15. Abbigliamento Android: come supportare l'app esistente per l'uso su Android
- 16. Perché devo usare "Risorse" in WPF?
- 17. Quali risoluzioni di app Android supportare?
- 18. Posso creare un qualificatore di configurazione personalizzato per Android?
- 19. Devo supportare iPhone jailbroken?
- 20. Risorse $ NotFoundException in Android
- 21. Quale filtro di FileSystemWatcher devo usare per trovare nuovi file
- 22. L'estensione Google Cast per Google Chrome supporta 1080p?
- 23. API per l'abbinamento di youtube TV in Android
- 24. Quale è meglio usare Sencha Touch o PhoneGap per Android?
- 25. Stato in corso per app Android TV? (Cosa usare al posto della barra di notifica su Android)
- 26. Come supportare i controlli dpad per RecyclerView
- 27. Perché devo usare finalmente per chiudere le risorse?
- 28. supporto apk multiple per Android TV e telefono
- 29. sviluppo di video player su Android per supportare HLS
- 30. Utilizza l'API Youtube in Android TV
display che pubblicizza 1080p tipicamente si riferisce alla capacità di accettare segnali 1080p in formato nativo risoluzione, che significa che ci sono un vero 1920 pixel in larghezza e 1080 pixel i n altezza, –
dove sw-7080p in cui "sw" sta per "Screen Width". –
Non utilizzare né, almeno per le cose che sono distinte per i televisori. Tieni presente che i layout per telefoni e tablet sono spesso inadatti per i televisori, a causa della dipendenza dalla barra delle azioni, dell'assenza di supporto per overscan e così via. Usa '-television' come un qualificatore del set di risorse per le risorse incentrate sulla televisione. – CommonsWare