DragTopLayout icon indicating copy to clipboard operation
DragTopLayout copied to clipboard

Drag down to show a view on the top.

DragTopLayout

icon

Sometimes we need to show a top view above a ViewPager or ListView. DragTopLayout is a ViewGroup that contains a content view and a top menu view. You can show the top menu view just drag down the content view at the right time, or drag it up to fold.

The sample app: click me

Here is a show case:

gif

Usage

Add the dependency to your build.gradle.

dependencies {
    compile 'com.github.chenupt.android:dragtoplayout:1.2.1@aar'
}

Add the DragTopLayout in your layout.

 <github.chenupt.dragtoplayout.DragTopLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent">

     <!--top view-->
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:gravity="center"
         android:orientation="vertical">
         ...
     </LinearLayout>

     <!--content view-->
     <LinearLayout
         android:orientation="vertical"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
         ...
     </LinearLayout>

 </github.chenupt.dragtoplayout.DragTopLayout>

XML Attributes

Changelog

###v1.2.1

###v1.2.0

  • Support Scrolling continue #7.@sockeqwe
  • Retain state #8.@sockeqwe
  • Fixed #10, #5, #4.
  • Remove wizard.

###v1.1.0

  • Support collapse offset.
  • Support drag down while attaching top view.
  • Support attributes in xml.
  • Add attach util.
  • New sample shows how to control content view attach with ListView & RecyclerView & GridView & ScrollView & WebView.

Developed By

License

Copyright 2015 chenupt

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.