DragFooterView带拖拽效果的 DragContainer,支持放入任意类型的子 View

DragFooterView

项目地址: uin3566/DragFooterView
简介:带拖拽效果的 DragContainer,支持放入任意类型的子 View

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

  • step1:Add it in your root build.gradle at the end of repositories:
      allprojects {
          repositories {
              ...
              maven { url "https://jitpack.io" }
          }
      }
    
  • step2:Add the dependency:
      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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值