versión corta:
clip_horizontal y clip_vertical se aplican a las mediciones de la vista sí mismo, para poder efectuar cualquier contenido (tales como la imagen en un BitmapDrawable).
Versión larga:
me he encontrado cierta confusión similar sobre clip_horizontal y clip_vertical. (En mi caso, estaba relacionado con android: gravedad para un mapa de bits, pero es lo suficientemente similar como para ser aplicable.)
De la documentación, pensé que algo así como android: gravity = "top | left | clip_vertical" en una el mapa de bits provocaría que la esquina superior izquierda de la imagen se coloque en la esquina superior izquierda de la vista, y que, si el mapa de bits fuera más alto que la vista, se "recortaría" en el borde inferior de la vista. En otras palabras, muestre solo la mayor parte del mapa de bits que la vista es lo suficientemente alta para revelar; no estire el mapa de bits, sino que solo muestre lo que encaje, dejando que el resto se extienda por debajo del borde inferior.
Sin embargo, sucedió todo lo contrario: cuando configuré clip_vertical, un mapa de bits grande se aplastó verticalmente para ajustarse al alto de la vista.
Después de examinar el método applyDisplay() en la plataforma/marcos/core/java/android/view/Gravity.java, me di cuenta de mi error:
No es el mapa de bits imagen que se va a se recortará, pero la vista - el tamaño real del contenedor en el que finalmente se representa la imagen.
Configuración de clip_vertical en mi caso no significaba "recortar la imagen en el borde inferior", significaba "recortar la vista de BitmapDrawable en sí, de modo que su altura coincide con la altura de su contenedor principal" ... lo que provocó la imagen ser "aplastado" ya que llenó esa altura más corta.
Por lo tanto, lo importante para recordar con android: gravedad y android: layout_gravity es que clip_horizontal y clip_vertical aplica a las mediciones de la vista sí mismo, antes de que los contenidos (como mi BitmapDrawable) son prestados.
¡Gracias por tu explicación! Es como si alguien encendiera una luz en un rincón oscuro de mi conocimiento de Android. ¡Aclamaciones! – SlashG