German Klick in ListView kann nicht erkannt werden

HarryPottier

Member
Licensed User
Hallo zusammen
Ich generiere eine ListView wie hier im Code
(Original) schwarzer Hintergrund und Weiße Schrift.

B4X:
ListView1.Initialize("ListView1")
Activity.AddView(ListView1, 0, 0, 100%x, 88%y)
ListView1.SingleLineLayout.ItemHeight = 100
ListView1.SingleLineLayout.Label.TextSize = 15

Der Klick auf die Zeile ist deutlich in (Farbe Kupfer) zu erkennen.

Jetzt ergänze ich einen schwarze Schrift auf Weißen Hintergrund

B4X:
ListView1.SingleLineLayout.Label.Color = Colors.White
ListView1.SingleLineLayout.Label.TextColor = Colors.Black

Sieht gut aus, jedoch ist der Klick nicht mehr zu erkennen
Was muss ich ergänzen um den Klick erneut zu erkennen ?
 

HarryPottier

Member
Licensed User
Links:
In dem Beispiel verhält es sich so, dass der Klick durch ein leichtes Grau zu erkennen ist.
Was jedoch auch nicht ausreicht.

Recht: in schwarz auf weiß ist kein Klick zu erkennen

B4X:
#Region  Project Attributes
    #ApplicationLabel: B4A Example
    #VersionCode: 1
    #VersionName:
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
#End Region


#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region


Sub Process_Globals

End Sub


Sub Globals
    Dim ListView1 As ListView
    Dim ListView2 As ListView
End Sub
    

Sub Activity_Create(FirstTime As Boolean)

    ListView1.Initialize("ListView1")
    Activity.AddView(ListView1, 0, 100, 50%x, 88%y)
    ListView1.SingleLineLayout.ItemHeight = 100
    ListView1.SingleLineLayout.Label.TextSize = 15
    ' ListView1.SingleLineLayout.Label.Color = Colors.White
    ' ListView1.SingleLineLayout.Label.TextColor = Colors.Black

    ListView2.Initialize("ListView2")
    Activity.AddView(ListView2, 50%x, 100, 49%x, 88%y)
    ListView2.SingleLineLayout.ItemHeight = 100
    ListView2.SingleLineLayout.Label.TextSize = 15   
    ListView2.SingleLineLayout.Label.Color = Colors.White
    ListView2.SingleLineLayout.Label.TextColor = Colors.Black


    ListView1.AddSingleLine("Anja Wagner")
    ListView1.AddSingleLine("Andreas Bauer")
    ListView1.AddSingleLine("Jenny Berger")
    ListView1.AddSingleLine("Christine Maier")
    ListView1.AddSingleLine("Rainer Deschamps")

    ListView2.AddSingleLine("Anja Wagner")
    ListView2.AddSingleLine("Andreas Bauer")
    ListView2.AddSingleLine("Jenny Berger")
    ListView2.AddSingleLine("Christine Maier")
    ListView2.AddSingleLine("Rainer Deschamps")

End Sub


Sub ListView1_ItemClick (Position As Int, Value As Object)
    Dim Index As Int
    Index = Position + 1
End Sub


Sub ListView2_ItemClick (Position As Int, Value As Object)
    Dim Index As Int
    Index = Position + 1
End Sub


Sub Activity_Resume

End Sub


Sub Activity_Pause (UserClosed As Boolean)

End Sub
 

Attachments

  • Examples.zip
    8.2 KB · Views: 304

klaus

Expert
Licensed User
Longtime User
Ich hatte nicht verstanden was Dein Problem war.
Aber Android funktioniert nun mal so.
Ich habe leider keine Lösung für Dein Problem.
Was mir hauptsächlich in ListViews fehlt ist dass der gewählte Eintrag nicht mit einer anderen Farbe angezeit wird.
Ich habe mir meine eigene CustomListViews erstellt, aber nie veröffentlicht.
 

HarryPottier

Member
Licensed User
Diese Lösung habe ich für „CustomListViews“ gefunden
Das ist mit Sicherheit kein eleganter Weg.
Sowas nannte wir vor 20 Jahre bei VB6
> > > „Von Hand zu Fuß programmieren“
Mit Sicherheit gibt es Heute eine bessere Lösung.
Funktioniert nicht bei „ListViews“

B4X:
Sub CLV_ItemClick (Index As Int, Value As Object)

    Dim pnl As Panel
    pnl = CLV.GetPanel(Index)
    pnl.Color = Colors.Blue
    Sleep(100)
    pnl.Color = Colors.White

End Sub
 

DonManfred

Expert
Licensed User
Longtime User
Listview ist ein sehr limitiertes Object. Das von Dir gewünschte gibt es hier nicht.
Stelle auf xCustomListview um, damit kannst du das machen. Und viel mehr dazu.
 

HarryPottier

Member
Licensed User
OK :)
Was ich in CustomListview nicht hinbekomme ist die Hohe der Zeile zu bestimmen.
Egal welche Schrittgröße ich verwende, das Feld in der sich die Schrift befindet bleibt immer gleich hoch.
Wie nennt sich der Befehl der die Höhe der einzelnen Zeile verändert. ?
 
Top