Home / Android-Entwicklung / Das Android Arsenal – Layouts

Das Android Arsenal – Layouts

???? Ein erweiterbares Layout, das ein zweistufiges Layout mit einem Indikator anzeigt.

In Ihr Projekt aufnehmen

Gradle

Fügen Sie die folgenden Codes zu Ihrer Stammdatei build.gradle hinzu (nicht zu Ihrer Modul-build.gradle-Datei).

 allprojects 



 {
    Repositories {
        jcenter ()
    }
} 

Fügen Sie dem Modul der Datei build.gradle einen Abhängigkeitscode hinzu.

 dependencies 
 {
    Implementierung  " com.github.skydoves: expandablelayout: 1.0.0 " 

} 

Verwendung

Fügen Sie folgenden XML-Namespace in Ihre XML-Layoutdatei ein.

 xmlns : app  =  " http://schemas.android.com/apk/res-auto " 

ExpandableLayout

Hier ist ein grundlegendes Beispiel für die Implementierung ExpandableLayout .

 < com.skydoves.expandablelayout.ExpandableLayout 
 android : id  = 
 android : layout_width  =  match_parent 
 android : layout_height  =  wrap_content 
 android : layout_marginTop  =  30dp  App : erweiterbare_Dauer  =  " 300 " 
 App : expandable_isExpanded  =  " false "  //  Erweitern Sie das zweite Layout zunächst oder nicht. 
 App : expandable_parentLayout  =  " @ layout / layout_parent "  //  Legt das übergeordnete Layout fest. 
 App : expandable_secondLayout  =  " @ layout / layout_second "  //  legt das zweite Layout fest. 
 App : expandable_showSpinner  =  " true "  //  zeigt den Spinner oder nicht. 
 App : expandable_spinner  =  " @ drawable / ic_arrow_down "  //  legt die Zeichengröße des Spinners fest. 
 app : expandable_spinner_animate  =  true  " //  animiert den Spinner beim Erweitern oder Reduzieren. 
 app : expandable_spinner_margin  = "  14dp  " //  legt den Rand für den Spinner fest. 
 App : expandable_spinner_size  = "  32dp  " //  legt die Spinnergröße fest. 
 / > [19659055]  Mit Builder-Klasse erstellen

Mit der Builder-Klasse können wir eine Instanz von ExpandableLayout erstellen.

 val  myExpandableLayout  = 
 expandableLayout (context) {
  setParentLayoutResource ( R 
 .layout.layout_parent)
  setSecondLayoutResource ( R 
 .layout.layout_second)
  setShowSpinner ( true 
)
  setSpinnerAnimate ( true 
)
  setSpinnerMargin ( 12f 
)
  setSpinnerRotation ( 90 
)
  setDuration ( 200 
)
  setOnExpandListener {toast ( " wird erweitert: $ it " 
)}
} 

Erweitern und reduzieren

Mit den folgenden Methoden können wir erweitern und reduzieren.

 expandablelayout.expand ()  //  Das zweite Layout mit Indikatoranimation erweitern. 

expandablelayout.collapse ()  //  Reduzieren des zweiten Layouts mit Indikatoranimation. 

ParentLayout und SecondLayout

Wir können die übergeordneten Layouts und secondLayout von erhalten das ExpandableLayout . Und wir können auf untergeordnete Ansichten zugreifen.

 expandablelayout.parentLayout.setOnClickListener {
  Toast ( " Das übergeordnete Layout wird angeklickt! " 


)
}
expandablelayout.secondLayout.setOnClickListener {
  Toast ( " das zweite Layout wird angeklickt! " 


)
}

 //  Untergeordnete Ansicht mit findViewById abrufen. 

expandablelayout.secondLayout.findViewById < Button > ( R 
 .id.button0) .setOnClickListener {
    Toast ( " button0 geklickt " 

)
}
 //  Untergeordnete Ansicht mit Android-Erweiterung erhalten. 

expandablelayout.secondLayout.button0.setOnClickListener {toast ( " button0 clicked " } 

OnExpandListener

Wir können das ExpandableLayout [194520] anhören reduziert.

 expandablelayout.onExpandListener  =  Objekt :  OnExpandListener 
 {
   überschreiben  Spaß  aufExpand  ( isExpanded :  Boolean 
) {
    Toast ( " Erweitert: $ it " 



)
  }
}

 //  oder wir können mit einem Lambda-Ausdruck zuhören. 


expandable.setOnExpandListener {
   if 
 (it) {
    Toast ( " erweitert " 
)
  }  else 
 {
    Toast ( " Zusammenbruch " 

)
  }
} 

ExpandableLayout-Attribute

Attribute Typ Standard Beschreibung
isExpanded Boolean false Erweitern Sie das zweite Layout anfangs oder nicht
. 19659101] Layout Standardlayout Legt das übergeordnete Layout fest.
zweites Layout Layout Standardlayout Legt das zweite Layout fest.
Dauer Lang 250L [19659101] Legt die Dauer der Spinner-Animation fest.
Spinner Drawable arrow_down Legt die Drawable des Spinners fest.
showSpinner Boolean true Zeigt den Spinner an oder nicht .
Spinner_animate Boolean true Animiert den Spinner beim Erweitern oder Reduzieren.
Spinner_Rotation Integer -180 Legt die Drehung des Spinner-Animation fest. ] Spinner_size Dimension 36dp Legt die Größe des Spinners fest .
Spinner_margin Dimension 8dp Legt den Rand des Spinners fest.

Ist diese Bibliothek hilfreich? ❤️

Unterstützen Sie es, indem Sie sich Sternguckern für dieses Repository anschließen. ⭐️ Und folge mir für meine nächsten Kreationen! ????












 Copyright 2019 Fallschirme (Jaewoong Eum)

Lizenziert unter der Apache-Lizenz, Version 2.0 (die "Lizenz");
Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden.
Eine Kopie der Lizenz erhalten Sie unter

   http://www.apache.org/licenses/LICENSE-2.0

Sofern nicht gesetzlich vorgeschrieben oder schriftlich vereinbart, Software
unter der Lizenz vertrieben wird auf einer "AS IS" -Basis verteilt,
OHNE GARANTIEN ODER BEDINGUNGEN JEGLICHER Art, entweder ausdrücklich oder stillschweigend.
In der Lizenz finden Sie die spezifische Sprache für die Berechtigungen und
Einschränkungen unter der Lizenz. 

.

About AndroidWeltEditor

Check Also

Das Android Arsenal – Gradle Plugins

Gradle-Plugin, das das Abrufen des Android OpenCV SDK und das Verknüpfen mit dem Projekt automatisiert …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.