Hola Gustavo
pero me pone 4 imagenes en el scrollview y yo quiero que aparezca de a una solo imagen
Con esto te refieres que carga 4 imagenes en horizontal? si es asi posiblemente es por el tamaño en ancho que le has dado al scroll a nivel de diseño en el Desing y eso añadido al codigo que no especificas el ancho es el motivo.
Si embargo si te refieres a que quieres ver solo una imagen en el scroll en vez de 4, entonces no necesitas un scroll, si no simplemente una imagen o un bitmap, pero entonces no entenderia para que quieres un scroll
.
Por otro lado estas cargando la imagen en una lista de imagenes y luego la cargas en el scroll, aparte que es duplicar el codigo es generar el doble de memoria, la "gracia" del
LoadBitmapSample es la de cargar la imagen en el dispositivo pero sin cargarla al 100% de su calidad ni de su peso, y luego al tocar en el scrooll hacer una llamada a una imagen que ya la cargue al 100%, por ejemplo a un TouchView. Por eso el código para el
LoadBitmapSample no es poner el alto y ancho en dip, si no en tanto por ciento (
LoadBitmapSample(NombreCarpeta,f.Get(i),15%x,15%y) ) , con ese código a la que cargues unas pocas imagenes te dara un error de memoria, que ademas no puedes controlar con un try
ScrollView1.Panel.AddView(iv, 5dip, 5dip + i * 200dip, ScrollView1.Width - 10dip, 700dip)
Si te fijas en este codigo hay una incongruencia, le dices que la imagen la cargue en
5dip + i * 200dip, pero luego al decirle el alto le dices que es 700dip, de esta forma tenemos:
i = 0 > 5+0 * 200= 1000
i = 1 > 5+1 * 200= 1200
...
La primera imagen en vez de colocarla en altura a 0, la pones a 1000, y como le dices que el alto es 700 pues ira desde 1000 a 1700 y la siguiente le dices que el top es 1200, asi que estas solapando imagenes que puede que sea el problema de tu consulta.
Como no se exactamente cual es el problema, yo te aconsejo que copies del primer codigo, y luego en el apartado de donde poner la imagen y el tamaño lo tengas muy en cuenta, ya que eso es lo que hara que se vean las imagenes que quieras que aparezcan en horizontal. Por otro lado en el ejemplo cree el scroll en ejecucion para asi darle el ancho que quisieras dependiendo del dispositivo (
Activity.AddView(Scroll1,0,0,100%x,100%y) )
Una buena forma es crearte una variable con la altura de la imagen en el scroll, y luego esta variable la empleas para darle la altura:
AltoItem= 100
AltoImagen = i*AltoItem ' no es lo mismo 0 + 5 que 0 * 5 :D
' o tambien esta version
AltoImagen = AltoImagen + AltoItem + 2dip ' asi dejas una linea de separacion entre imagenes
Saludos