From d9c6f9c449a57d6286919a30e6be6c3e2d427760 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=BCcahit=20KAMBUR?= Date: Thu, 5 Sep 2019 15:27:37 +0300 Subject: [PATCH] Add single mode --- .idea/gradle.xml | 4 ++++ build.gradle | 3 ++- .../java/iammert/com/expandablelib/ExpandableLayout.java | 7 +++++-- expandablelib/src/main/res/values/attrs.xml | 1 + gradle/wrapper/gradle-wrapper.properties | 4 ++-- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 6f06b8f..2f83b1b 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,6 +3,9 @@ diff --git a/build.gradle b/build.gradle index da3bf81..c71c4ef 100644 --- a/build.gradle +++ b/build.gradle @@ -5,9 +5,10 @@ buildscript { repositories { maven { url 'https://maven.google.com' } jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.0-rc01' + classpath 'com.android.tools.build:gradle:3.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/expandablelib/src/main/java/iammert/com/expandablelib/ExpandableLayout.java b/expandablelib/src/main/java/iammert/com/expandablelib/ExpandableLayout.java index 02b9af7..cb4f479 100644 --- a/expandablelib/src/main/java/iammert/com/expandablelib/ExpandableLayout.java +++ b/expandablelib/src/main/java/iammert/com/expandablelib/ExpandableLayout.java @@ -51,6 +51,8 @@ public boolean apply(Object obj) { private List
sections; + private Boolean singleMode; + private ExpandCollapseListener.ExpandListener expandListener; private ExpandCollapseListener.CollapseListener collapseListener; @@ -86,6 +88,7 @@ private void init(Context context, AttributeSet attributeSet) { typedArray = context.obtainStyledAttributes(attributeSet, R.styleable.ExpandableLayout); parentLayout = typedArray.getResourceId(R.styleable.ExpandableLayout_parentLayout, NO_RES); childLayout = typedArray.getResourceId(R.styleable.ExpandableLayout_childLayout, NO_RES); + singleMode = typedArray.getBoolean(R.styleable.ExpandableLayout_singleMode, false); layoutInflater = LayoutInflater.from(context); } finally { if (typedArray != null) { @@ -257,8 +260,8 @@ private

void expand(@NonNull P parent) { sections.get(i).expanded = true; if (expandListener != null) expandListener.onExpanded(i, sections.get(i).parent, sectionView.getChildAt(0)); - break; - } + }else if (singleMode) + collapse(sections.get(i).parent); } } diff --git a/expandablelib/src/main/res/values/attrs.xml b/expandablelib/src/main/res/values/attrs.xml index f08f4ca..912f8e7 100644 --- a/expandablelib/src/main/res/values/attrs.xml +++ b/expandablelib/src/main/res/values/attrs.xml @@ -4,6 +4,7 @@ + \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6d9dbc2..c81e7b2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Aug 23 14:26:53 CDT 2018 +#Thu Sep 05 15:20:37 EET 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-rc-1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip