Spanish Control en tiempo de ejecucion ordenar

Hola, tengo este codigo en donde voy agregando unos label me funciona bien el codigo lo que no puedo hacer es al crear el ultimo label darle un poco mas de tamaño abajo del code deje una imagen de como quiero que quede.
B4X:
Sub Globals

    Dim conB=0 As Int 'Variable Contador de TAG y Texto   
    Dim lb(16) As Label
   
End Sub

B4X:
Sub Activity_Create(FirstTime As Boolean)

    Activity.LoadLayout("main")

    Dim vTOP,vLEFT,Espacio=15dip As Int
   
    For cant = 1 To 15 Step 2
       
        For col = 1 To 2
           
            conB=conB+1
            lb(conB).Initialize("")
            lb(conB).Color=Colors.Black
            lb(conB).TextColor=Colors.Yellow
            lb(conB).TextSize=15
            lb(conB).Gravity = Gravity.CENTER
            lb(conB).Typeface = Typeface.DEFAULT_BOLD
            lb(conB).Text=NumberFormat(conB,2,0)
                                   
            If col = 1 Then Activity.AddView(lb(conB),vLEFT * col ,  vTOP, 30dip,30dip)
            If col = 2 Then Activity.AddView(lb(conB),18dip * col ,  vTOP, 30dip,30dip)
                       
            If col + (cant - 1) = 15 Then Exit
           
        Next
       
        vTOP = vTOP + 21dip + Espacio
               
    Next

End Sub
screenshot-1501540420638-2.jpg
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola, simplemente consulta si es la fila 15 y cuando lo sea haz el codigo, algo así:

B4X:
   For cant = 1 To 15 Step 2
       if cant <> 15 then 
          For col = 1 To 2
              conB=conB+1
              lb(conB).Initialize("")
              lb(conB).Color=Colors.Black
              lb(conB).TextColor=Colors.Yellow
              lb(conB).TextSize=15
              lb(conB).Gravity = Gravity.CENTER
              lb(conB).Typeface = Typeface.DEFAULT_BOLD
              lb(conB).Text=NumberFormat(conB,2,0)
                                  
              If col = 1 Then Activity.AddView(lb(conB),vLEFT * col ,  vTOP, 30dip,30dip)
              If col = 2 Then Activity.AddView(lb(conB),18dip * col ,  vTOP, 30dip,30dip)
        
            'If col + (cant - 1) = 15 Then Exit  con la condición de arriba no tiene sentido
          
        Next
       else
            ' pon aqui el codigo para hacer 1 y mas ancho
       end if
        vTOP = vTOP + 21dip + Espacio
              
    Next



Saludos
 
Solucione asi amigo, por que si le pongo la condición mas arriba solo el 14 me agranda y ya no muestra el 15. Solucionado el tema gracias.

B4X:
Sub Activity_Create(FirstTime As Boolean)

    Activity.LoadLayout("main")
    Dim vTOP,vLEFT,Espacio=15dip As Int
   
    For cant = 1 To 15 Step 2
               
        For col = 1 To 2
           
            conB=conB+1
            lb(conB).Initialize("")
            lb(conB).Color=Colors.Black
            lb(conB).TextColor=Colors.Yellow
            lb(conB).TextSize=15
            lb(conB).Gravity = Gravity.CENTER
            lb(conB).Typeface = Typeface.DEFAULT_BOLD
            lb(conB).Text=NumberFormat(conB,2,0)
                                   
            If col = 1 Then Activity.AddView(lb(conB),vLEFT * col ,  vTOP, 30dip,30dip)
            If col = 2 Then Activity.AddView(lb(conB),18dip * col ,  vTOP, 30dip,30dip)
           
            If col + (cant - 1) = 15 Then lb(conB).Width=52dip+Espacio
            If col + (cant - 1) = 15 Then Exit
       
        Next
       
        vTOP = vTOP + 21dip + Espacio
   
    Next

End Sub
 
Top