Italian Dark mode

Elric

Well-Known Member
Licensed User
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:
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
 

Elric

Well-Known Member
Licensed User
?
Dunque... ? secondo questo link verosimilmente attendibile:
elargire v. tr. [dal lat. tardo elargiri, comp. di e-1 e largiri «donare», der. di largus «generoso»] (io elargisco, tu elargisci, ecc.). – Donare distribuendo con generosità e in abbondanza: e. aiuti, sovvenzioni, sussidî; estens., e. favori; fig., iron., e. sorrisi a destra e a sinistra.

L'esegesi di tale detto vuole che 1. gli sviluppatori sono tutti ricchi e/o vivono con proventi derivante da qualcosa di diverso che dallo sviluppare e 2. donando e distribuendo con generosità e abbondanza, la generosità e l'abbondanza mal si sposa con l'invito ad accontentarsi (altro link verosimilmente attendibile).
??

Ironia a parte, posto che possa anche condividere il detto ed estenderlo ad altre professioni, sarà perché ho ancora il naso chiuso e qualche decimo:

Secondo voi è fattibile?

Mi imbarco in qualcosa estremamente time consuming che doesn't evaluate the candle*?

Il metodo, a vostro avviso, è sbagliato?

* Proverb.
:)
 
Top