Home / Android-Entwicklung / Das Android Arsenal – Einstellungen

Das Android Arsenal – Einstellungen

ShouldSet ist eine in Kotlin geschriebene Android-Bibliothek, die zum Erstellen und Verwalten von Voreinstellungsbildschirmen verwendet wird.

Inspiriert vom Materialstil der Telegram X-Android-App, insbesondere von den Einstellungen, bietet sie eine deklarative Möglichkeit, gebrauchsfertige Einstellungen hinzuzufügen Elemente in Ihren Ansichten und verwalten Sie die Einstellungswerte überall in Ihrem Code.

Sollte sich auf die android SharedPreferences beschränken, sodass sie vollständig mit ihnen kompatibel sind.

Erste Schritte

Installieren von

Falls nicht füge noch das jitpack repository in dein projekt ein gradle:


 allprojects {
    Repositories {
        maven { url :  ' https://jitpack.io ' 

 }
    }
} 

Fügen Sie die ShouldSet-Abhängigkeit in Ihr App-Gradle ein und synchronisieren Sie das Projekt:

 Abhängigkeiten {
      Implementierung  ' com.github.MontiniCristian: ShouldSet: v0.1.1 ' 

} 

Konfigurieren

Um diese Bibliothek verwenden zu können, müssen Sie die [ShouldManager] in den Anwendungsklasse:

 Klasse  Anwendung :  Anwendung 

 () {

     überschreiben  Spaß  onCreate 
 () {
         super 
 .onCreate ()
         ShouldManager .  init  ( this 

)
    }
} 

oder in Ihrer ersten verwendbaren Aktivität:

 Klasse  MainActivity :  AppCompatActivity 

 () {

     Überschreiben  Spaß  bei Erstellen  ( SavedInstanceState :  Bundle? 
) {
         super 
 .onCreate (savedInstanceState)
         ShouldManager .  init  ( this 

)
    }
} 

Grundlegende Verwendung

Die Verwendung dieser Bibliothek ist so einfach wie das Hinzufügen einer Ansicht zu Ihrer XML. Gehen Sie dazu wie folgt vor:

Fügen Sie einen ShouldSetScreen in Ihr Fragment- oder Conductor-Controller-Layout ein:

 < com 
 .cristian.shouldset.view.ShouldSetScreen
    android :  id  =  " @ + id / shouldSetScreen " 
 android :  layout_width  =  " match_parent " 
 android :  layout_height  =  " match_parent 
" [19659046>
</  com  .cristian.shouldset.view.ShouldSetScreen> 

Hier ein Beispiel aus meinem SettingsFragment:

 <?  xml  version  =  "  1.0  encoding  =  utf-8 
?>
< LinearLayout  xmlns :  android  =  " http://schemas.android.com/apk/res/android " 
 xmlns :  app  =  " http://schemas.android.com/apk/res-auto " 
android [19659035] : Ausrichtung  =  " vertikal " 
 android :  layout_width  =  match_par 
 android :  layout_height  =  match_parent 

>

    < androidx 
 .appcompat.widget.Toolbar
         android :  layout_width  =  " match_parent " 
 android :  layout_height  = " wrap_content " 
 App :  title  =  " @ string / settings_toolbar_title 

 />
    
    < com 
 .cristian.shouldset.view.ShouldSetScreen
         android :  id  =  " @ + id / myShouldSetScreen " 
 android :  layout_width  =  " match_parent " 
 android :  layout_height  =  " match_parent 
" [19659046>
    </  com 

 .cristian.shouldset.view.ShouldSetScreen>
    
</  LinearLayout > 

Wenn Sie damit fertig sind, können Sie über die onViewCreated-Methode Ihres Fragments auf myShouldSetScreen zugreifen und den Bildschirm ausfüllen:

 override  fun  onViewCreated  Ansicht :  Ansicht  SavedInstanceState :  Bundle? 
) {
         super 




 .onViewCreated (Ansicht, gespeicherter Bundesstaat)
        
        myShouldSetScreen.build {

            categoryTitle {
                title  =  " Soziale Kompetenzen " 

 textColor  =  R 
 .color.colorSecondary
                backgroundColor  =  R 


 .color.colorPrimaryDark
            }

           checkBoxPreference ( " areGreetingsHappening " 
) {
                backgroundColor  =  R 
 .color.colorPrimary
                textColor  =  android .  R 

 .color.white
                setOnValueChangeListener {
                     if  (it) print ( " Sag hallo " 
)
                     if  (!  it) print ( " Ich werde still sein " 

)
                }
                title  =  " Grüße aktivieren " 




}

            Deskriptor {
                backgroundColor  =  R 
 .color.colorPrimaryDark
                description  =  " Wenn Sie diese Option aktivieren, verbessern Sie Ihre sozialen Fähigkeiten. " 

 textColor  =  R 


 .color.colorSecondary
            }
        }
} 

Und dann können Sie mit ein wenig Fantasie Ihre bevorzugten Bildschirme anpassen:



 myShouldSetScreen.build {

            categoryTitle {
                title  =  " Soziale Kompetenzen " 

 textColor  =  R 
 .color.colorSecondary
                backgroundColor  =  R 


 .color.colorPrimaryDark
            }

           checkBoxPreference ( " areGreetingsHappening " 
) {
                backgroundColor  =  R 
 .color.colorPrimary
                textColor  =  android .  R 

 .color.white
                setOnValueChangeListener {
                     if  (it) print ( " Sag hallo " 
)
                     if  (!  it) print ( " Ich werde still sein " 

)
                }
                title  =  " Grüße aktivieren " 




}

            Deskriptor {
                backgroundColor  =  R 
 .color.colorPrimaryDark
                description  =  " Wenn Sie diese Option aktivieren, verbessern Sie Ihre sozialen Fähigkeiten. " 

 textColor  =  R 



 .color.colorSecondary
            }

            bottomRadioGroupPreference {
                keyLabelPair  = 
 hashMapOf (
                     " isSomething "   to  " Something " 
,
                     " isMagic "   bis  " Magic " 
,
                     " areGreetingsHappening "   to  " Alternative Greet " 


)
                backgroundColor  =  R 
 .color.colorPrimary
                textColor  =  android .  R 
 .color.white
                title  =  " Andere Grüße " 

 dividerColor  =  R 



 .color.colorPrimaryDark
            }

            dividerLine {
                color  =  R 



 .color.colorPrimaryDark
            }

            categoryTitle {
                title  =  " Elemente " 

 textColor  =  R 


 .color.colorSecondary
            }

            switchPreference ( " isSwitched " 
) {
                backgroundColor  =  R 
 .color.colorPrimary
                textColor  =  android .  R 
 .color.white
                title  =  " Switch this " 




}

            dividerLine {
                color  =  R 


 .color.colorPrimaryDark
            }

            bottomCheckBoxGroupPreference ( " magic_kind "  " duperMagic " 

                backgroundColor  =  R 
 .color.colorPrimary
                textColor  =  android .  R 
 .color.white
                title  =  " Magische Art " 

 dividerColor  =  R 
 .color.colorPrimaryDark
                textValueColor  =  R 
 .color.colorSecondary
                valueLabelPair  = 
 hashMapOf (
                     " superMagic "   bis  " Super Magic " 
,
                     " duperMagic "   bis  " Duper Magic " 
,
                     " anotherMagic "   bis  " Another Magic " 
,
                     " strangeMagic "   bis  " Strange Magic " 
,
                     " iperMagic "   bis  " Iper Magic " 





)
            }

            Deskriptor {
                backgroundColor  =  R 
 .color.colorPrimaryDark
                description  =  " Wählen Sie die von Ihnen bevorzugte magische Art aus, um etwas Magie auszuführen. " 

 textColor  =  R 

 .color. colorSecondary
            }
        } 

Abrufen der Voreinstellungen

Sie können sie einmal lesen, indem Sie den Standard-Voreinstellungs-Manager deaktivieren:

 val  bool  =  PreferenceManager  (context) .getBoolean ( " areGreetingsHappening "  true ) 

ShouldManager .getBooleanAsBehaviorSubject ( " areGreetingsHappening " true ). Subscribe {
        print ( " Aktualisierter Wert $ it " )
}

Mitarbeiten

Bitte lesen Sie CONTRIBUTING.md

.

About AndroidWeltEditor

Check Also

Low-Power Sleep Tracking on Android

Posted by Nick Grayson, Product Manager Android works best when it helps developers create apps …

Leave a Reply

Your email address will not be published. Required fields are marked *