A ViewGroup with a draggable footer
Inspired by
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.0'
}
Usage1、add in xml like this (Attention:it should have only one child view)
2、in java code,add DragListener
DragContainer dragContainer = (DragContainer) findViewById(R.id.drag_image_view);
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);
}
});
Attributesall of the attributes are listed below:
attribute
value type
defalut value
description
dc_icon_drawable
reference
None
the icon show in footer
dc_icon_size
dimension
15dp
the icon size show in footer
dc_text_normal
string
None
the text string show in footer while release will not trigger DragListener
dc_text_event
string
None
the text string show in footer while release will trigger DragListener
dc_text_size
dimension
10sp
the size of footer text
dc_text_color
color
0xff222222
the color of footer text
dc_text_icon_gap
dimension
4dp
the distance of footer icon and footer text
dc_footer_height
dimension
30dp
the thickness of the footer rectangle part
dc_footer_color
color
0xffcdcdcd
the color of footer background
dc_reset_animator_duration
integer
700
the reset animator duration in milliseconds
dc_drag_damp
float
0.5f
the drag damp,should be set in range (0,1],set it smaller will drag more difficultly
dc_bezier_threshold
dimension
120dp
if the drag distance bigger than it, the bezier path will not change any more
LicenseCopyright (c) 2016 uin3566
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.