Ciao!
Ho avuto la "malsana" idea di ipotizzare di buttare giù un modulo che mi permetta di "switchare" tra modalità "darkmode" e normale.
Per renderlo "universale" o quasi pensavo di acquisire le impostazione di tutte le view presenti in modalità normale per mezzo di ciclo For e immagazzinarle in una o più list (tipo lstBackgroundColor e lstTextColor più altre liste per ulteriori view che hanno ulteriori elementi colorati da variare).
Il primo problema è, indubbiamente, il colore di alcuni controlli, tipo il "button" - risolvibile ma un po' che richiede un po' di tempo (https://www.b4x.com/android/forum/t...olor-back-to-default-color.125507/post-783664).
Secondo voi è fattibile?
Mi imbarco in qualcosa estremamente time consuming che doesn't evaluate the candle*?
Il metodo, a vostro avviso, è sbagliato?
* Proverb.
Pensavo a qualcosa di questo tipo:
Ho avuto la "malsana" idea di ipotizzare di buttare giù un modulo che mi permetta di "switchare" tra modalità "darkmode" e normale.
Per renderlo "universale" o quasi pensavo di acquisire le impostazione di tutte le view presenti in modalità normale per mezzo di ciclo For e immagazzinarle in una o più list (tipo lstBackgroundColor e lstTextColor più altre liste per ulteriori view che hanno ulteriori elementi colorati da variare).
Il primo problema è, indubbiamente, il colore di alcuni controlli, tipo il "button" - risolvibile ma un po' che richiede un po' di tempo (https://www.b4x.com/android/forum/t...olor-back-to-default-color.125507/post-783664).
Secondo voi è fattibile?
Mi imbarco in qualcosa estremamente time consuming che doesn't evaluate the candle*?
Il metodo, a vostro avviso, è sbagliato?
* Proverb.
Pensavo a qualcosa di questo tipo:
B4X:
Public Sub MemorizeLightMode(myRoot As B4XView) As ResumableSub
#If B4J
myWhite = fx.Colors.To32Bit(fx.Colors.White)
myBlack= fx.Colors.To32Bit(fx.Colors.Black)
#End If
mapBackGroundColor.Initialize
mapTextGroundColor.Initialize
mapHintTextColorColor.Initialize
Private NoOfViews As Int = myRoot.NumberOfViews
For i = 0 To NoOfViews - 1
Log($"myRoot.GetView(i).Color = ${myRoot.GetView(i).Color}"$)
Log($"myRoot.GetView(i).TextColor = ${myRoot.GetView(i).TextColor}"$)
mapBackGroundColor.Put(i, myRoot.GetView(i).Color)
mapTextGroundColor.Put(i, myRoot.GetView(i).TextColor)
If myRoot.GetView(i) Is Button Then
Else If myRoot.GetView(i) Is Label Then
Else If myRoot.GetView(i) Is CheckBox Then
Else If myRoot.GetView(i) Is B4XFloatTextField Then
#if B4J
Else If myRoot.GetView(i) Is ComboBox Then
'Private myView As ComboBox = myRoot.GetView(i)
#End If
Else If myRoot.GetView(i) Is B4XFloatTextField Then
'Private myView As B4XFloatTextField
'myView = myRoot.GetView(i)
'Log($"myRoot.GetView(i).HintColor = ${myView.HintColor}"$) ' Questo non funziona
'mapHintTextColorColor.Put(i, myView.HintColor) ' Questo non funziona
Else If myRoot.GetView(i) Is CustomListView Then
'Private myView As CustomListView
'myView = myRoot.GetView(i) ' Studiare e sviluppare
Else If myRoot.GetView(i) Is SwiftButton Then
' Studiare e sviluppare
End If
Next
Return True
End Sub