Expansion panels contain creation flows and allow lightweight editing of an element. | ![]() |
---|
Add following line of code to your project level gradle file
repositories {
mavenCentral()
}
Add following line of code to your module(app) level gradle file
implementation 'com.robertlevonyan.view:MaterialExpansionPanel:<LATEST_VERSION>'
implementation("com.robertlevonyan.view:MaterialExpansionPanel:$LATEST_VERSION")
<dependency>
<groupId>com.robertlevonyan.view</groupId>
<artifactId>MaterialExpansionPanel</artifactId>
<version>LATEST_VERSION</version>
<type>pom</type>
</dependency>
<com.robertlevonyan.views.expandable.Expandable
android:id="@+id/expandable"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include
android:id="@+id/header"
layout="@layout/header_view" />
<include
android:id="@+id/content"
layout="@layout/content_view" />
</com.robertlevonyan.views.expandable.Expandable>
![]() |
![]() |
---|
Material Expansion Panel in action
Custom Atributes | Description |
---|---|
app:exp_icon |
Icon for Expandable Header |
app:exp_iconStyle |
Set style for header icon: square, circle or roundedSquare |
app:exp_animateExpand |
Animate expand of layout |
app:exp_backgroundColor |
Set a custom background color for layout |
app:exp_expandIndicator |
Select custom drawable for expand indicator |
val expandable = findViewById(R.id.expandable);
Expand/collapse programmatically
expandable.expand()
expandable.expand();
Set expand listener
expandable.doOnExpand {
//some stuff on expand
}
expandable.doOnCollapse {
//some stuff on collapse
}
expandable.setExpandingListener(new ExpandingListener() {
@Override
public void onExpanded() {
//some stuff on expand
}
@Override
public void onCollapsed() {
//some stuff on collapse
}
});
expandable.icon = myIconDrawable // Icon for Expandable Header
expandable.iconStyle = ExpandableIconStyles.SQUARE // Set style for header icon: square, circle or roundedSquare
expandable.animateExpand = true // Animate layout expanding
expandable.backgroundColor = myBackgroundColor // Set a custom background color for layout
expandable.expandIndicator = myExpandDrawable // Select custom drawable for expand indicator
Update to Java 11 SDK 31 ready Minor updates
Migration to mavenCentral
Several bug fixes and small features
New version of the library. Fully rewritten with Kotlin and AndroidX ready 🤩
RecyclerView issue fixed
New version with bug fixes
First version of library
- Email: me@robertlevonyan.com
- Website: https://robertlevonyan.com/
- Medium: https://medium.com/@RobertLevonyan
- Twitter: https://twitter.com/@RobertLevonyan
- Facebook: https://facebook.com/robert.levonyan
- Google Play: https://play.google.com/store/apps/dev?id=5477562049350283357
![](https://github.com/robertlevonyan/material-expansion-panel/raw/master/Images/coffee.jpeg)
Material Expansion Panel©
Copyright 2017 Robert Levonyan
Url: https://github.com/robertlevonyan/materialExpansionPanel
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.