Estoy haciendo un calendario y necesito una grilla. El problema es que los bordes, o más bien el espacio entre cada cuadrícula, que es lo que estoy usando para simular una cuadrícula, es 1 dp. Pero es bastante grueso. Estoy mirando otras aplicaciones de calendario que tienen los bordes, y son muy delgadas. Incluso si tuviera que usar una forma drawable
y convertirla en 1dp, aún tiene ese grosor. Intenté usar .5, pero eso no pareció funcionar. ¿No es eso posible?¿Puede Android soportar dp's de menos de 1dp?
Respuesta
Android no le permiten introducir valores fraccionales para dp
en XML, aunque no estoy seguro de que lo recomendaría porque los resultados se vuelven menos fácil de predecir/Calcular dispositivos convierten dp
valores en píxeles usando (básicamente) la siguiente fórmula:.
px = (int)(scale * dp + 0.5)
(es decir, la escala de densidad dispositivo redondeado al valor de píxel entero más cercano)
El valor scale
estaría basada en la densidad de pantalla del dispositivo:
- MDPI = 1
- HDPI = 1,5
- xhdpi = 2
- XXHDPI = 3
Así 0.5dp
daría como resultado {1px, 1px, 1px, 2px} para las densidades anteriores, mientras que 1dp
sería {1px, 2px, 2px, 3px}. Un valor pequeño como 0.1dp
se resolvería a {1px, 1px, 1px, 1px} porque cualquier cantidad inferior a 1 en la fórmula anterior se resuelve en un solo píxel a menos que el valor sea explícitamente 0dp
(no es posible dibujar algo más delgado que un ancho de píxel simple)
Si desea asegurarse de que se utiliza el ancho más fino posible, probablemente sea mejor definir el ancho explícitamente con px
en lugar de una unidad escalada como dp
. Establecer un valor de 1px
dibujará con un solo píxel en todos los dispositivos, y es mucho más legible que con la esperanza de que 0.5dp
o 0.1dp
haga lo mismo.
Sí.
puse a 0.1dp y es más pequeño que 1DP en mi Driod 4" ME860.
Parece depender del dispositivo. Veo un borde de 0.5dp y se muestra en mi Nexus 4 pero no en un Kindle de primera generación. – Sam
- 1. Android: ¿Qué versiones de Android debería soportar?
- 2. ¿Android planea soportar Java7?
- 3. ¿Puede EF4 soportar actualizaciones por lotes?
- 4. ¿Puede iOS realmente soportar AES 256?
- 5. ¿Cuántas URL exclusivas puede soportar goo.gl?
- 6. ¿Cuántas conexiones de red puede soportar una computadora?
- 7. Cómo soportar todas las diferentes resoluciones de productos Android
- 8. ¿Puede SpineJS url() soportar el recurso anidado en rieles?
- 9. ¿Cómo puede el marco editor GWT 2.1 soportar tipos primitivos?
- 10. ¿Puede Maven hacerse menos detallado?
- 11. Número de entrada de Android con signo más y menos
- 12. Una herramienta de edición de página web visual que puede soportar web asp.net forma etiquetas
- 13. ¿Debo soportar Unicode en contraseñas?
- 14. ¿Puede la consola R soportar tareas en segundo plano o interrupciones (gestión de eventos)?
- 15. ¿Puede una base de datos soportar "Atomicity" pero no "Consistency" o viceversa?
- 16. Soportar ToString (formato de cadena) con tipo de número personalizado
- 17. ¿Cómo contribuyo al proyecto de Android para soportar/representar un idioma que no sea inglés?
- 18. MENOS Cliente para Windows
- 19. Android: no se puede crear una forma de rectángulo simple ... UnsupportedOperationException?
- 20. ¿Microsoft deja de soportar la nueva versión de Silverlight?
- 21. ¿Qué lenguajes de programación pueden soportar las pruebas de mutación?
- 22. Usando el patrón de repositorio para soportar múltiples proveedores
- 23. ¿Qué herramientas usas para soportar XCode?
- 24. ¿Cómo puedo soportar tanto HTML4 como HTML5?
- 25. Colores menos de vértices
- 26. ¿Cómo se puede cambiar el generador de código de Eclipse toString para mostrar menos objetos Calendarios menos detallados?
- 27. ¿Cómo soportar múltiples selecciones de texto en el navegador?
- 28. jQuery valida menos de
- 29. MENOS interpolación de cadena
- 30. ¿Puede recomendar cualquier información sobre letras/números menos ambiguos?
El px es una gran idea: permite que cada dispositivo lo haga lo mejor posible. ¡Gracias! –