He creado una pequeña aplicación de prueba para probar la escala dibujable.Scale Drawable - ¿setImageLevel determina la escala?
Defino mi dibujable en xml y lo guardo como scale_up.xml
. Tengo un archivo de diseño main.xml
con un ImageView
. Uso android:src="@drawable/scale_up"
en ImageView para usar el dibujo que creé en xml. En mi actividad utilizo myImageView.setImageLevel(some level here)
para establecer el nivel de ImageView definido en main.xml
. Todo va bien y el ImageView muestra el dibujable definido en scale_up.
Mi confusión es la siguiente:
- cambiar el
scaleHeight
yscaleWidth
% enscale_up.xml
no hace ninguna diferencia perceptible si el nivel se fija en 10.000 - cambiando el nivel en
setImageLevel
(entre 0 y 10000) cambios el tamaño de la imagen, realmente solo perceptible en alrededor de 5000. Cuanto mayor sea el valor en% para scaleHeight y scaleWidth, menor será la imagen (según el valor desetImageLevel()
)
supongo que mi pregunta/s son:
- ¿es correcto utilizar
setImageLevel()
, que pasa a un nivel entre 0 y 10000 - En la actividad para controlar el tamaño de la dibujable definido en el archivo XML? - lo que es la relación entre ScaleHeight, ScaleWidth y
setImageLevel()
- como lo veo ahora, puedo también acaba de establecer la ScaleHeight y ScaleWidth a 100% y luego usarsetImageLevel(5000)
para obtener una imagen escalada 50% - es decir, aumentando o reduciendosetImageLevel(0 to 10000)
cambiará la escala, haciendo que elscaleHeight
y elscaleWidth
% sean bastante inútiles.
apreciamos cualquier aclaración de esto y tal vez un ejemplo de cómo usar la escala dibujable (definida en xml) correctamente.