German Panel im Widget zur Laufzeit einfärben

so27

Active Member
Licensed User
Longtime User
Hallo zusammen,

ich hab noch mal eine Frage. Wie kann ich es anstellen, dass ich einem Panel, welches von einem Widget verwendet wird, zur Laufzeit eine andere Farbe verpasse?

B4X:
#Region Module Attributes
    #StartAtBoot: true
#End Region

'Service module
Sub Process_Globals
    Dim rv As RemoteViews
    Dim imageFiles() As String
    imageFiles = Array As String("l.png", "L2.png", "L3.png", "L4.png", "L5.png", "L6.png", "L7.png", "L8.png")
    Dim currentImage As Int
    Dim sets As Map ' Dateiverwaltung
    sets.Initialize ' Dateiverwaltung

    Dim VB As PhoneVibrate
  
    Dim Rot As Int=230
    Dim Gruen As Int=112
    Dim Blau As Int=112
  
    Dim N1Rot As Int=255
    Dim N1Gruen As Int=255
    Dim N1Blau As Int=255
  
    Dim N2Rot As Int=255
    Dim N2Gruen As Int=255
    Dim N2Blau As Int=255
  
    Dim N3Rot As Int=255
    Dim N3Gruen As Int=255
    Dim N3Blau As Int=255
  
    Dim Transparenz As Int = 200
  
    Dim Icon As Int = 0
  
End Sub

Sub Service_Create
    'Set the widget to update every 60 minutes 1440=24h.
    rv = ConfigureHomeWidget("L1", "rv", 360, "Mein Widget", True)
End Sub

Sub Service_Start (StartingIntent As Intent)
    If rv.HandleWidgetEvents(StartingIntent) Then Return
End Sub

Sub rv_RequestUpdate
'    LoadSettings
    SetTime
    rv.UpdateWidget
End Sub

Sub rv_Disabled
    StopService("")
End Sub

Sub Service_Destroy

End Sub

Sub SetTime
    LoadSettings
    LoadWidget
    rv.SetText("Label3", Berechne(DatumX))
    currentImage = (Icon) Mod imageFiles.Length
    rv.SetImage("ImageView1", LoadBitmap(File.DirAssets, imageFiles(currentImage)))
  
    rv.SetTextColor("Label1", Colors.ARGB(255, N1Rot,N1Gruen,N1Blau))
    rv.SetTextColor("Label2", Colors.ARGB(255, N2Rot,N2Gruen,N2Blau))
    rv.SetTextColor("Label3", Colors.ARGB(255, N3Rot,N3Gruen,N3Blau))
    'rv.panel1.Color = Colors.ARGB(Transparenz Rot, Gruen, Blau)
      

'per RV. kann ich leider keine Color z. B. für das Panel verwenden. Nur RV.TextColor...
     
End Sub

Sub Panel1_Click

' Das funktioniet. Also ansprechen kann ich das Panel

End Sub
...

Hat jemand eine Idee?
 

so27

Active Member
Licensed User
Longtime User
Okay, das habe ich jetzt selber gelöst. Ich lasse einfach das Panel als PNG-Bilddatei speichern und lade es dann über ein ImageView ins Widget. Eine einfachere Lösung ist mir bisher nicht dazu eingefallen.
 
Top