Home

Awesome

DragFooterView

中文版README


A ViewGroup with a draggable footer

Demo gif

screenshot

Inspired by

screenshot

Customize your own footers

As a flexible library, it should not has only one footer effect, so you can custom your own footer effect, below is my custom footer effect, you can get it in demo code. To custom footer view, you should only inherit BaseFooterDrawer class, and draw the footer in footerRegion rectf.
screenshot
screenshot

Add to your project

    allprojects {
        repositories {
            ...
	        maven { url "https://jitpack.io" }
        }
    }
    dependencies {
        compile 'com.github.uin3566:DragFooterView:v1.0.2'
    }

Usage

1、add in xml like this (Attention:it should have only one child view)

    <com.fangxu.library.DragContainer
        android:id="@+id/drag_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white" />
    </com.fangxu.library.DragContainer>

2、in java code,add DragListener

    DragContainer dragContainer = (DragContainer) findViewById(R.id.drag_image_view);
    
    //if you want to use your own custom footer, you should set your own footer to
    //the DragContainer like this
    dragContainer.setFooterDrawer(new ArrowPathFooterDrawer.Builder(this, 0xff444444).setPathColor(0xffffffff).build());
    
    //set listener
    dragContainer.setDragListener(new DragListener() {
        @Override
        public void onDragEvent() {
            //do whatever you want,for example skip to the load more Activity.
            Intent intent = new Intent(HomeActivity.this, ShowMoreActivity.class);
            startActivity(intent);
        }
    });

###Attributes all of the attributes are listed below:

attributevalue typedefalut valuedescription
dc_footer_colorcolor0xffcdcdcdthe color of footer background
dc_reset_animator_durationinteger700the reset animator duration in milliseconds
dc_drag_dampfloat0.5fthe drag damp,should be set in range (0,1],set it smaller will drag more difficultly

###License

Copyright (c) 2016 uin3566 <xufang2@foxmail.com>

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.