German Elemente werden nicht angezeigt

Sinan Tuzcu

Active Member
Licensed User
Hallo,

mit dem folgenden Code, werden dyn. Panels geladen, die wiederum Elemente beinhalten.
B4X:
#Region Module Attributes
    #FullScreen: False
    #IncludeTitle: True
    #ApplicationLabel: 1
    #VersionCode: 2
    #VersionName: 1.01
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
#End Region

Sub Process_Globals

End Sub

Sub Globals
    Dim sv As ScrollView
End Sub

Sub Activity_Create(FirstTime As Boolean)
    sv.Initialize(70dip * 10)
    Activity.AddView(sv, 0, 0, 100%x, 100%y)
    For i = 0 To 9
        Dim p As Panel
        p.Initialize("")
        p.Tag = i
        p.LoadLayout("2")
        For v = 0 To p.NumberOfViews - 1
            p.GetView(v).Tag = p 'set the panel as the Tag value
        Next
        sv.Panel.AddView(p, 0, i * 70dip, sv.Panel.Width, 60dip)
    Next
End Sub

Sub button1_click 'handles all buttons
    Dim b As Button
    b = Sender
    Dim p As Panel
    p = b.Tag
    Dim txt As EditText
    txt = GetEditTextOfPanel(p)
    Msgbox("text entered: " & txt.Text, "Panel #" & p.Tag)
End Sub
Sub GetEditTextOfPanel(p As Panel) As EditText
    For i = 0 To p.NumberOfViews - 1
        If p.GetView(i) Is EditText Then Return p.GetView(i)
    Next
End Sub
Soweit alles in Ordnung.
Edittext1 und Button1 werden dargestellt bzw. sind zu sehen.

Nun aber, wen ich einen Label auf alle Horizontal platziere, wird diese mir nicht angezeigt.
upload_2019-2-28_2-11-25.png


So wird es manchmal angezeigt
upload_2019-2-28_2-13-19.png


Einstellungen vom Label1 sind:
upload_2019-2-28_2-14-8.png
 

klaus

Expert
Licensed User
Der Hintergrund von Labels ist duchsichtig, und ohne Text sieht man eben nichts.
Und falls doch Text drin ist und dessen Farbe gleich der Farbe des Parent Panels ist, dann sieht man auch nichts.
 

MarkusR

Well-Known Member
Licensed User
Label1 Textfarbe #FFFFFF ist auch Weiss und Text ist leer in deinem Screenshot.
 

Sinan Tuzcu

Active Member
Licensed User
Hi Markus,

mir geht es im ersten Schritt garnet um den Text.
Der Label wird gar nicht erst angezeigt.
Bei den Werten sollte es zumindest ein weißes Viereck zu sehen sein.
 

pucki

Active Member
Licensed User
Ein Panel ist ein Rahmen. In VB eine Groupbox. Was bedeutet das alles was in das Panel soll, das auch gesagt bekommen muss.

Ein im Code erzeugter button muss ergo sein parent bekommen ODER er wird auf die Hauptebene gelegt. Ich denke das das dein Problem ist. Lt. Screenshot ist er auf der Hauptebene. Sieh letzter Eintrag der MAIN Gruppe.

Ich denke (nicht getestet), das Code-erzeugte Objekte immer auf der Hauptebene liegen. Wenn du im Designer ein Anzeige füllst ist das zwar die Hauptebene. Aber das ist nur temporär weil du im Code diese "Hauptebene" per Befehl den Panel zuweist.

Ist schwer zu erklären. Und ich bin mir nicht sicher ob ich richtig liege. Aber mein Instinkt hat meistens Recht ;)


Die 2 Möglichkeit ist schlicht und ergreifend das es kein Platz hat, oder von irgend etwas überdeckt wird. Das ist einfach zu testen. Weiße den Label völlig schwachsinnige Farbe zu, die du nicht benutzt. Das hilft meistens es zu finden.


Gruß

Pucki
 

MarkusR

Well-Known Member
Licensed User
Besser ein Beispiel Projekt als Zip exportieren das wir was zum angucken und spielen haben.
Vielleicht wurde die eingestellte Farbe durch ein im Manifest definiertes Farbschema überschrieben?
 
Top