All Projects → Commit451 → Elasticdragdismisslayout

Commit451 / Elasticdragdismisslayout

Licence: apache-2.0
Standard ViewGroups which responds to nested scrolls to create drag-dismissable layouts.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Elasticdragdismisslayout

icingabeat
Elastic Beat fetching events & status from Icinga 2
Stars: ✭ 36 (-88.46%)
Mutual labels:  elastic
app-search-flask-app
This is an example of a Python Flask app with Elasticsearch/ Elastic App Search with respective Python Clients
Stars: ✭ 17 (-94.55%)
Mutual labels:  elastic
Elastichd
Elasticsearch 可视化DashBoard, 支持Es监控、实时搜索,Index template快捷替换修改,索引列表信息查看, SQL converts to DSL等
Stars: ✭ 2,993 (+859.29%)
Mutual labels:  elastic
logiq
Monitoring Web UI for Elastic Logstash
Stars: ✭ 34 (-89.1%)
Mutual labels:  elastic
app-search-magento
A first party module to integrate Elastic App Search in Magento 2.
Stars: ✭ 25 (-91.99%)
Mutual labels:  elastic
kibana graph
Interactive Network Graph Visualization For Kibana (unmaintained)
Stars: ✭ 38 (-87.82%)
Mutual labels:  elastic
kibana-keycloak
Secure kibana dashboards using keycloak
Stars: ✭ 40 (-87.18%)
Mutual labels:  elastic
Elastic Apm Php Agent
PHP Agent for Elastic APM
Stars: ✭ 283 (-9.29%)
Mutual labels:  elastic
kafkabeat
Kafka event forwarder build on top of Elastic Beats platform
Stars: ✭ 13 (-95.83%)
Mutual labels:  elastic
pubsubbeat
An Elastic Beat to ingest data from Google Pub/Sub
Stars: ✭ 40 (-87.18%)
Mutual labels:  elastic
elastic-apm-agent
Elastic Application Performance Monitoring (APM) agent for PHP
Stars: ✭ 48 (-84.62%)
Mutual labels:  elastic
TGRefreshSwift
弹簧、橡皮筋下拉刷新控件,类似QQ下拉刷新效果,同时支持其他样式
Stars: ✭ 50 (-83.97%)
Mutual labels:  elastic
elasty
A research-oriented elastic body simulator
Stars: ✭ 173 (-44.55%)
Mutual labels:  elastic
clinical nlp elastic
Clinical NLP Analysis with Elasticsearch and Kibana
Stars: ✭ 32 (-89.74%)
Mutual labels:  elastic
Helk
The Hunting ELK
Stars: ✭ 3,097 (+892.63%)
Mutual labels:  elastic
seahorse
ELKFH - Elastic, Logstash, Kibana, Filebeat and Honeypot (HTTP, HTTPS, SSH, RDP, VNC, Redis, MySQL, MONGO, SMB, LDAP)
Stars: ✭ 31 (-90.06%)
Mutual labels:  elastic
elastic-adapter
Elastic remote storage adapter for prometheus.
Stars: ✭ 17 (-94.55%)
Mutual labels:  elastic
Android Nosql
Lightweight, simple structured NoSQL database for Android
Stars: ✭ 284 (-8.97%)
Mutual labels:  elastic
Elasticsearch Rails
Elasticsearch integrations for ActiveModel/Record and Ruby on Rails
Stars: ✭ 2,896 (+828.21%)
Mutual labels:  elastic
elastic-certified-engineer
No description or website provided.
Stars: ✭ 23 (-92.63%)
Mutual labels:  elastic

ElasticDragDismissLayout

Standard ViewGroups which responds to nested scrolls to create drag-dismissable layouts. Original code taken from Plaid and made backwards compatible.

Build Status

Gradle Dependency

Add this in your root build.gradle file (not your module build.gradle file):

allprojects {
	repositories {
		...
		maven { url "https://jitpack.io" }
	}
}

Then, add the library to your project build.gradle

dependencies {
    implementation 'com.github.Commit451:ElasticDragDismissLayout:1.0.4'
}

Usage

See the sample project for a full example. Within XML:

<com.commit451.elasticdragdismisslayout.ElasticDragDismissLinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/draggable_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:dragDismissDistance="112dp"
    app:dragDismissScale="0.95">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="#993F51B5" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</com.commit451.elasticdragdismisslayout.ElasticDragDismissLinearLayout>

In addition, you will probably want to have your new activity have a theme that allows for transparency. See styles.xml for an example.

To allow for dismiss:

mDraggableFrame.addListener(new ElasticDragDismissListener() {
        @Override
        public void onDrag(float elasticOffset, float elasticOffsetPixels, float rawOffset, float rawOffsetPixels) {}

        @Override
        public void onDragDismissed() {
            //if you are targeting 21+ you might want to finish after transition
            finish();
        }
    });

Supported ScrollViews

  • ScrollView (if 21+ and android:nestedScrollingEnabled="true")
  • RecyclerView
  • NestedScrollView (from support v4 library)

Currently Created Elastic Views

  • ElasticDragDismissFrameLayout
  • ElasticDragDismissLinearLayout
  • ElasticDragDismissRelativeLayout

You can create your own by using the ElasticDragDismissDelegate and using one of the created views as a reference.

License

Copyright 2015 Google, Inc.
Copyright 2017 Commit 451

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].