Italian cambiare colore di un testo

Discussion in 'Italian Forum' started by Sberla, Apr 7, 2015.

  1. Sberla

    Sberla Active Member Licensed User

    Salve ragazzi voglio cambiare il colore di un testo e poi inserirlo in una ListView. Ho creato prima una label e poi la inserisco in una ListView

    Code:
    Dim pippo As label
    pippo.Initialize(
    "pippo")
    pippo.TextColor=
    Colors.Red
    pippo.Text=
    "pluto"

    Listview.AddSingleLine(pippo.text)
    Però il testo mi resta di colore nero. Come mai?
     
  2. maxware

    maxware Well-Known Member Licensed User

    Ciao Sberla
    addsingleline ti scrive il valore dell'oggetto e non l'oggetto
    per cambiare il colore della test in una list fai cosi
    lstview.SingleLineLayout.Label.TextColor = colors.red
    ciaoo
    Mamo
     
  3. Sberla

    Sberla Active Member Licensed User

    Si però siccome voglio inserire il testo usando la classe "Flexible Table" non posso farlo.

    http://www.b4x.com/android/forum/threads/class-flexible-table.30649/

    Ti spiego usando questa classe quando scrivo la riga voglio fare il un asterisco * di colore rosso e il resto della riga di colore nero.
    Quindi stavo pensando di mettere tutto in una label e poi passarlo alla funzione che scrive la riga, però lo vedo sempre nero.
     
  4. maxware

    maxware Well-Known Member Licensed User

    sicuro che la flex table ti consente di scrivere con colori diversi ?
     
  5. Sberla

    Sberla Active Member Licensed User

    Mi sa che puoi decidere un colore per tutto il testo. La mia intenzione era quella di creare un testo già formattato e poi passarglielo. Non posso farlo?
     
  6. maxware

    maxware Well-Known Member Licensed User

    ho usato la Flexible un paio di volte nella mia app ma non ho mai vuoto al necessita di cambiare un colore. hai provato a scrivere ad Klaus
     
  7. udg

    udg Expert Licensed User

    Ciao.
    Temo che indipendentemente da cosa fai prima di passare il testo alla ListView, quest'ultima utilizza il suo layout che, tra l'altro, è uguale per tutti gli elementi della LV stessa.
    Maggiore libertà l'hai con la CustomListView ma non so se ti valga la pena.
    Una possibilità, un po' forzata, potrebbe essere quella di utilizzare la LV nella modalità "due righe + bitmap". Nel tuo caso usi come bitmap l'asterisco colorato e magari setti nulla la seconda riga se non ti serve.
     
  8. Sberla

    Sberla Active Member Licensed User

    Si in pratica voglio come riga della tabella es. "* testo", tutta la scritta nera e l'asterisco di colore rosso
     
  9. LucaMs

    LucaMs Expert Licensed User

  10. anallie0

    anallie0 Active Member Licensed User

  11. maxware

    maxware Well-Known Member Licensed User

    Non ho provato
    prova a giocare un po' nella classe Table
    in questa sezione:
    Private Sub ShowRow(row As Int)
    .....
     
  12. MarcoRome

    MarcoRome Expert Licensed User

    Prova a modificare questo codice....

    Code:
    Sub Process_Globals
        
    'These global variables will be declared once when the application starts.
        'These variables can be accessed from all modules.
     
    End Sub
     
    Sub Globals
        
    'These global variables will be redeclared each time the activity is created.
        'These variables can only be accessed from this module.
    Dim aScroll As ScrollView
    Dim scrollPanel As Panel
    Type labelsXYpos(xpos As Int,ypos As Int)
    End Sub
     
    Sub Activity_Create(FirstTime As Boolean)
     
    Dim actHeight As Int, actWidth As Int
    Dim curcol As Int,currow As Int
    Dim cols As Int ,rows As Int
    Dim selCol As Int, seltext As String
    Dim colWidth As Int, rowHeight As Int
    Dim newcolor As Int
    Dim rnNumber As Int
     
    Activity.LoadLayout ("1")
    actHeight=
    Activity.Height
    actWidth=
    Activity.Width
    aScroll.Initialize (
    Activity.Height)
    scrollPanel=aScroll.Panel
    Activity.AddView (aScroll,0,0,actWidth,actHeight)
     
    cols=
    2:rows=10
    colWidth=actWidth/cols
    rowHeight=actHeight/rows
    selCol=
    1
    seltext=
    "test"
    newcolor=
    Colors.Red
     
    For currow=0 To rows-1
     
    For curcol=0 To cols-1
     
    Dim txt As String
    Dim l As Label
    Dim xy As labelsXYpos
     
    txt=currow & 
    "," & curcol
     
    If curcol=selCol Then
    rnNumber=
    Rnd(0,2)
    If rnNumber=0 Then txt=seltext
    End If
     
    l.Initialize (
    "label")
    l.Text =txt
    l.Gravity =
    Gravity.CENTER
    xy.Initialize
    xy.xpos =curcol
    xy.ypos =currow
    l.Tag =xy
    scrollPanel.AddView (l,curcol*colWidth,currow*rowHeight,colWidth,rowHeight)
     
    If curcol=selCol AND txt=seltext Then
    Dim l2 As Label
    l2=scrollPanel.GetView (currow*cols)
    l2.TextColor =newcolor
    End If
     
    Next
     
    Next
     
    End Sub
     
    Sub Activity_Resume
     
    End Sub
     
    Sub Activity_Pause (UserClosed As Boolean)
     
    End Sub
     
     
    Sub label_click
    Dim l As Label
    Dim xy As labelsXYpos
    l=
    Sender
    xy=l.Tag
    ToastMessageShow("Label at X=" & xy.xpos & ", Y=" & xy.ypos & " =" & l.Text,False)
    End Sub
    Il risultato è il seguente:
    Immagine.png

    vedi qui

    Ciao
     
    Sberla likes this.
  13. Sberla

    Sberla Active Member Licensed User

    Grazieeee ;)
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice