2012-03-26 10 views
8

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 y scaleWidth% en scale_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 de setImageLevel())

supongo que mi pregunta/s son:

  1. ¿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?
  2. 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 usar setImageLevel(5000) para obtener una imagen escalada 50% - es decir, aumentando o reduciendo setImageLevel(0 to 10000) cambiará la escala, haciendo que el scaleHeight y el scaleWidth% 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.

Respuesta

0
  1. No. setImageLevel es más como un tipo enumerado para las imágenes. Es para mostrar diferentes imágenes, por ejemplo, un nivel de carga de la batería o una pantalla de barras de señal. Coloca una imagen debajo del nivel 1 para batería baja, otra debajo de 2 para batería mediana, y así sucesivamente. Luego usa setImageLevel para cambiar entre ellos. Al menos eso ha sido mi entendimiento. Dicho eso, no tengo idea de por qué cambia la escala.

  2. No tengo ni idea de por qué sería eso. Podría ser un problema con el editor/visor xml en el ADT en Eclipse, me he dado cuenta de que muchas cosas se muestran bien en mi teléfono, pero increíblemente mal en mi editor. Generalmente solo trabajo en xml por ese motivo.

¿Qué intentas lograr exactamente? Eso podría hacer que sea más fácil responder a tu pregunta.