Slidingpanelayout

  
Implement a sliding pane UI pattern.
Latest Update Stable Release Release Candidate Beta Release Alpha Release
January 26, 2022 1.2.0 - - -

Declaring dependencies

To add a dependency on SlidingPaneLayout, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

Groovy

dependencies {
    implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0"
}

Kotlin

dependencies {
    implementation("androidx.slidingpanelayout:slidingpanelayout:1.2.0")
}

For more information about dependencies, see Add build dependencies.

Feedback

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentation for more information.

Version 1.2.0

Version 1.2.0

January 26, 2022

androidx.slidingpanelayout:slidingpanelayout:1.2.0 is released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • SlidingPaneLayout is now fold-aware. On a foldable device, SlidingPaneLayout will automatically adjust the size of the two panes so that the panes are on either side of the fold, hinge, etc.
  • When handling your own configuration changes, - SlidingPaneLayout now animates between the single pane and two pane modes when the amount of space provided changes (i.e., when unfolding a foldable device).
  • SlidingPaneLayout now has a new UI styling when the two panes overlap. Each pane will now extend from edge to edge, with the detail or secondary pane fully covering the list or primary pane when the SlidingPaneLayout is open. APIs specific to the old UI styling, such as the fade color, have been deprecated.
  • SlidingPaneLayout now defaults to ‘closed’ - i.e., showing the list or primary pane. Calling open() or openPane() will now show the detail or secondary pane.
  • Improved compatibility with additional measure specs to ensure that SlidingPaneLayout can be used in any type of layout without throwing an IllegalStateException.
  • SlidingPaneLayout now allows registering multiple PanelSlideListeners.
  • Developers can now control whether users can swipe between the list and detail panes by setting a lock mode.

Version 1.2.0-rc01

December 15, 2021

androidx.slidingpanelayout:slidingpanelayout:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.

Dependency updates

  • SlidingPaneLayout now depends on Window 1.0.0-rc01, fixing incompatibilities with previous beta versions of AndroidX Window.

Version 1.2.0-beta01

September 1, 2021

androidx.slidingpanelayout:slidingpanelayout:1.2.0-beta01 is released with no notable changes. Version 1.2.0-beta01 contains these commits.

Version 1.2.0-alpha04

August 18, 2021

androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits.

New Features

  • SlidingPaneLayout now animates between the single pane and two pane modes when using a Foldable device. (aosp/1702066, b/186211031)
  • Improved compatibility with additional measure specs to ensure that SlidingPaneLayout can be used in any type of layout without throwing an IllegalStateException. (aosp/1774187, aosp/1773623, aosp/1773256)

Bug Fixes

  • Fixed an issue where tapping on an empty position of the detail pane would pass through clicks to the list pane when the panes overlap. (aosp/1755141)

Dependency Updates

Version 1.2.0-alpha03

June 30, 2021

androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits.

Dependency changes

Version 1.2.0-alpha02

May 5, 2021

androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha02 is released. Version 1.2.0-alpha02 contains these commits.

Bug Fixes

  • SlidingPaneLayout now takes into account folding features that have a non-zero width. (847cc2)
  • SlidingPaneLayout now expands the drag edge size when gesture navigation is enabled, mirroring the behavior of DrawerLayout. (2c6d24)
  • The open and closed state of SlidingPaneLayout is now preserved even if it is changed when the device is non-slidable (i.e., when both panes are shown side by side), thus ensuring that users will continue to see the detail screen when they rotate their device or otherwise switch to a smaller display. (b15eda)
  • Fix lock mode behavior (Ic01dc)

External Contributions

  • Thanks Cesar Valiente for fixing SlidingPaneLayout to now take into account folding features that have a non-zero width. (847cc2)

Version 1.2.0-alpha01

March 24, 2021

androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits.

New Features

  • SlidingPaneLayout is now fold-aware. On a foldable device, SlidingPaneLayout will automatically adjust the size of the two panes so that the panes are on either side of the fold, hinge, etc.

Behavior Changes

  • SlidingPaneLayout now has a new UI styling when the two panes overlap. Each pane will now extend from edge to edge, with the detail or secondary pane fully covering the list or primary pane when the SlidingPaneLayout is open. APIs specific to the old UI styling, such as the fade color, have been deprecated. (Ia60ce)
  • SlidingPaneLayout now defaults to ‘closed’ - i.e., showing the list or primary pane. Calling open() or openPane() will now show the detail or secondary pane. (I5d26c)

API Changes

  • SlidingPaneLayout now allows registering multiple PanelSlideListeners. (I50ce2)
  • Developers can now control whether users can swipe between the list and detail panes by setting a lock mode. (Idf2fd, I5d26c)

Version 1.1.0

Version 1.1.0

June 24, 2020

androidx.slidingpanelayout:slidingpanelayout:1.1.0 is released. Version 1.1.0 contains these commits.

Major changes since 1.0.0

Version 1.1.0-rc01

May 20, 2020

androidx.slidingpanelayout:slidingpanelayout:1.1.0-rc01 is released with no changes since 1.1.0-beta01. Version 1.1.0-rc01 contains these commits.

Version 1.1.0-beta01

April 1, 2020

androidx.slidingpanelayout:slidingpanelayout:1.1.0-beta01 is released with no changes since 1.1.0-alpha01. Version 1.1.0-beta01 contains these commits.

Version 1.1.0-alpha01

March 18, 2020

androidx.slidingpanelayout:slidingpanelayout:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.

API Changes