Hola, tenemos la respuesta a lo que necesitas, desplázate y la verás aquí.
Solución:
Hay tres densidades de pantalla que se pueden considerar para Android TV y tres calificadores correspondientes. Éstos incluyen:
- tvdpi – (213 ppp) – diseñado para televisores de 720p;
- xhdpi – (320 ppp) – diseñado para televisores de 1080p (HD);
- xxxhdpi – (640 ppp) – diseñado para televisores 4k (Ultra HD).
Pero según https://developer.android.com/training/tv/start/layouts.html#density-resources:
El diseño de su televisor debe apuntar a un tamaño de pantalla de 1920 x 1080 píxeles [standard 1080p/HD]y luego permita que el sistema Android reduzca la escala de sus elementos de diseño a 720p si es necesario.
Esto implica que, si sigue este consejo y siempre diseña con especificaciones de 1080p, podría usar el -television
Calificador de modo de interfaz de usuario y listo.
Sin embargo, si necesita entregar diferentes imágenes y diseños para los diferentes tamaños de TV, puede usar los calificadores de densidad de pantalla anteriores.
Las imágenes y diseños “estándar” para TV se pueden almacenar en un -xhdpi
carpeta, como xhdpi
es el calificador utilizado para televisores de 1080p.
Si se desean versiones (opcionales) de imágenes de alta resolución para televisores 4k, pueden suministrarse como imágenes “2x” y almacenarse en un drawable-xxxhdpi
carpeta. Del mismo modo, las dimensiones/diseños destinados solo a televisores 4k podrían colocarse en -xxxhdpi
.
(Tenga en cuenta en particular que el -tvdpi
El calificador es específico para 720p, y es casi seguro que no es lo que desea usar para admitir televisores modernos).
La documentación es escasa y ligeramente contradictoria, pero me baso principalmente en estas fuentes:
https://developer.android.com/guide/practices/screens_support.html https://stackoverflow.com/a/11581786/925478
En primer lugar, usted está sustancialmente en lo cierto. Puedes usar
sw360dp/ : 720p screens
sw540dp/ : 1080p screens
La razón por la cual sw720p/sw1080p
no funcionan es porque no existen como calificadores.
Esta es la documentación oficial sobre cómo trabajar con diferentes tamaños de pantalla. Como puedes leer, hay dos unidades diferentes a tener en cuenta si quieres calcular tu dp
carpeta: el recuento de píxeles (p. ej., 720) y la densidad de píxeles (es decir, la unidad de puntos por pulgada, o cuántos píxeles caben en una sola pulgada).
La fórmula es bastante simple:
px = dp * (dpi / 160)
mientras que en este caso tenemos:
dp = px * 160 / dpi
Por supuesto, un televisor puede tener diferentes densidades: esta tabla le brinda más información al respecto (fuente: documentación oficial).
Supongamos que tenemos una pantalla de 1080p con una densidad extra alta (@320 ppp). hacemos las matemáticas
dp = 1080 * 160 / 320 = 540
Entonces obtenemos la carpeta apropiada para poner sus recursos.
EDITAR: en esa misma página, se afirma que hay un tvdpi
calificador que puede usar para sus recursos relacionados con la televisión (alrededor de 213 dpi
).
Aquí puedes ver las comentarios y valoraciones de los usuarios
Al final de la web puedes encontrar las explicaciones de otros creadores, tú también eres capaz insertar el tuyo si lo deseas.