{"id":20511173,"url":"https://github.com/lovoo/ruledscrollview","last_synced_at":"2025-04-13T22:41:51.827Z","repository":{"id":22106743,"uuid":"25437102","full_name":"lovoo/RuledScrollView","owner":"lovoo","description":"Android ScrollView implementation with additional Touch-Interception-Rules","archived":false,"fork":false,"pushed_at":"2015-11-16T17:25:47.000Z","size":423,"stargazers_count":5,"open_issues_count":1,"forks_count":4,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-03-27T13:01:53.368Z","etag":null,"topics":["android","android-library","lovoo","scrollview"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lovoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-19T19:11:32.000Z","updated_at":"2024-08-12T19:15:08.000Z","dependencies_parsed_at":"2022-08-19T07:40:36.163Z","dependency_job_id":null,"html_url":"https://github.com/lovoo/RuledScrollView","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2FRuledScrollView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2FRuledScrollView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2FRuledScrollView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2FRuledScrollView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lovoo","download_url":"https://codeload.github.com/lovoo/RuledScrollView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248794565,"owners_count":21162613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-library","lovoo","scrollview"],"created_at":"2024-11-15T20:34:55.013Z","updated_at":"2025-04-13T22:41:51.781Z","avatar_url":"https://github.com/lovoo.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/Lovoo/RuledScrollView.svg?branch=master)](https://travis-ci.org/Lovoo/RuledScrollView)\n[![Download](https://api.bintray.com/packages/lovoo/maven/ruled-scroll-view/images/download.svg)](https://bintray.com/lovoo/maven/ruled-scroll-view/_latestVersion)\nRuledScrollView\n===============\n\nAndroid ScrollView implementation with additional touch-interception-rules.\n\n##Question##\nHave you ever tried to use a **ScrollView** and another **ScrollContainer** in one layout tree?\n\nNot yet? Lucky you!\n\nFor everyone else read carefully.\n\n##Analysis##\nAndroid updated there **ScrollView** *onInterceptTouchEvent(MotionEvent event)* implementation to ignore touch events when **ScrollView** is at top and can't scroll any further. There for with **API 14** (Android 4.0) comes **View**.*canScrollVertically(int direction)* and **View**.*canScrollHoricontally(int direction)*.\n\n\u003e if you need lower API, you can use **ViewCompat** instead\n\nBut why only one direction and one axis?\n\n##Solution##\nCreate a custom **ScrollView** with an full implemented *onInterceptTouchEvent(MotionEvent event)* method. Enable some configuration with custom rules.\n\n**Rule** let you manage all children views without extend any other classes.\n\n\n##Benefits##\nChange scroll behaviour of nested scrollable views in real time via code.\n\n![alt tag](http://s14.directupload.net/images/141108/vw53apcc.png)\n\n##Problems##\nYou will get some performance problems if you have done a really fancy view tree with a lot of **ViewGroups** and scrollable **Views**.\n\n##License##\n\nCopyright (c) 2015, LOVOO GmbH\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of LOVOO GmbH nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovoo%2Fruledscrollview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flovoo%2Fruledscrollview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovoo%2Fruledscrollview/lists"}