- Presentación.
- Un sencillo ejemplo de Desplegable (Combo)
- Primero entramos en el programa Basic4Android / Tools / Run AVD Manager
- Luego en el Android SDK Manager / Tools / Manage AVDs...
- Marcamos un AVD Name / y pulsamos Start y luego Launch para abrir un emulador.
Creamos una carpeta llamada Combo en...................... C:\Andorid\Combo y dentro un archivo llamado combo.b4a
En el Basic4Android, entramos en File / OpenSource y cargamos el C:\Andorid\Combo\combo.b4a
Pulsamos en File / Save y guardamos combo.b4a
- Se trata de pulsar un Spinner y que salga el dibujo correspondiente en un ImageView
____________________________
- Designer. Layout.
Baja y descomprime el archivo de los dibujos de las frutas
- Súbelo a la aplicación mediante Files Manager / Add Files.
Creamos los controles
|
|
Bajar Combo.zip
Insertamos mediante
Designer / Add View
ImageView1
EditText1
Spinner1
Además pulsamos Add Images y agregamos fresa.gif,llimon.gif y pera.gif
que se encuentran en la Carpeta...... Android/Combo/Files
Guardamos el Designer:
File / Save : Layout
Conectamos el Designer al emulador.
Tools / Connect
Una vez cargado el Designer en el emulador, podemos ubicar los controles donde queramos. |
Ahora vamos al código del programa, pero antes seguimos en el Designer y marcamos:
Tools / Generate members
Spinner1 ItemClick (Position As Int, Value As Object)
Pulsamos Generate members
Esto lo hacemos para que en el código aparezca:
Sub Spinner1_ItemClick (Position As Int, Value As Object)
End Sub
Que es donde pondremos el algoritmo del cálculo.
(En realidad podríamos poner las dos líneas anteriores escrita manualmente, sin tener que hacerlo mediante el Generate members).
____________________________
- Código (copia y pega).
Código del programa Spinner
|
'Activity module
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
End Sub
Sub Globals
Dim Spinner1 As Spinner
Dim EditText1 As EditText
Dim ImageView1 As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout") ' Cargamos el Designer
Spinner1.Add("Fresa")
Spinner1.Add("Pera")
Spinner1.Add("Limón")
End Sub
Sub Spinner1_ItemClick (Position As Int, Value As Object)
' EditText1.text=Spinner1.SelectedIndex
EditText1.text=Spinner1.SelectedItem
If Spinner1.SelectedIndex = 0 Then ImageView1.Bitmap = LoadBitmap(File.DirAssets, "fresa.gif")
If Spinner1.SelectedIndex = 1 Then ImageView1.Bitmap = LoadBitmap(File.DirAssets, "pera.gif")
If Spinner1.SelectedIndex = 2 Then ImageView1.Bitmap = LoadBitmap(File.DirAssets, "limon.gif")
End Sub
|
____________________________
- Comentario.
Al pulsar sobre el Spinner podemos elegir Fresa, Pera o Limón. Saldrá el dibujo correspondiente en el ImageView y su nombre en el EditText.
______________________
12B.- Otro ejemplo de Spinner (Combo). Borrar y añadir una fruta.
- En el ejemplo anterior añade dos EditText y dos Button.
- Quita el ImageView.
- Este ejemplo muestra como borrar y añadir una fruta, además aparece su número de indice (comenzando por 0).
- Si borras todas las frutas mediante el spinner, el programa se queda bloqueado... arréglalo.
Código del programa en Basic4Android
|
'Activity module
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
End Sub
Sub Globals
Dim Spinner1 As Spinner
Dim EditText1, EditText2, EditText3 As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout") ' Cargamos el Designer
Spinner1.Add("Fresa")
Spinner1.Add("Pera")
Spinner1.Add("Limón")
Spinner1.Prompt="Selecciona una fruta"
End Sub
Sub Spinner1_ItemClick (Position As Int, Value As Object)
EditText3.text=Spinner1.SelectedIndex
EditText1.text=Spinner1.SelectedItem
'If Spinner1.SelectedIndex = 0 Then ImageView1.Bitmap = LoadBitmap(File.DirAssets, "fresa.gif")
'If Spinner1.SelectedIndex = 1 Then ImageView1.Bitmap = LoadBitmap(File.DirAssets, "pera.gif")
'If Spinner1.SelectedIndex = 2 Then ImageView1.Bitmap = LoadBitmap(File.DirAssets, "limon.gif")
End Sub
Sub Button1_Click
If Spinner1.Size>0 Then
Spinner1.RemoveAt(Spinner1.SelectedIndex)
End If
End Sub
Sub Button2_Click
Spinner1.Add(EditText2.Text)
End Sub |
_______________________
12C.- Otro ejemplo de Spinner (Combo)
De http://www.basic4ppc.com/forum/basic4android-updates-questions/8094-spinner-view.html
- En este ejemplo crea un nuevo proyecto y añade un Spinner, una List y una Label.
- Los controles anteriores se crean directamente mediante el código, no hace falta Designer ni crear Layout.
- Los controles se pueden crear mediante el Designe o mediante el mismo código como en este caso. Cuando se crea por código hay que iniciarlos.
Label1.Initialize("Label1")
Spinner1.Initialize("Spinner1")
- Cuando en el Spinner se pulse sobre el nombre de un país, saldrá en el Label1 sus siglas correspondientes, es decir,
si pulsamos sobre "España", debe salir "ESP".
Código del programa en Basic4Android
|
'Activity module
Sub Globals
Dim Spinner1 As Spinner
Dim List1 As List
Dim Label1 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean )
Label1.Initialize("Label1")
Spinner1.Initialize("Spinner1")
Activity.AddView(Spinner1, 0, 0, 100%x, 60dip)
Activity.AddView(Label1, 10dip, 70dip, 100%x, 60dip)
Spinner1.AddAll(Array As String ("España", "Argentina", "México", "Chile", "Colombia"))
List1.Initialize
List1.AddAll(Array As String ("ESP", "ARG", "MEX", "CHI", "COL"))
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean )
End Sub
Sub Spinner1_ItemClick (Position As Int , Value As Object )
Label1.Text = List1.Get(Position)
End Sub |
- Repasamos los tipos de variables:
Byte : 1 byte con signo: -128 hasta 127
Char : 2 bytes sin signo: 0 to 65535
Short : 2 bytes con signo: -32768 hasta 32767
Int : 4 bytes con sgino: -2147483648 hasta 2147483647
Long : 8 bytes con signo: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (9.2...E+18)
Float : 4 bytes +/- 3.4e +/- 38 (~7 digitos)
Double : 8 bytes +/- 1.7e +/- 308 (~15 digitos)