{"id":21130364,"url":"https://github.com/kmshack/Android-TopScrollHelper","last_synced_at":"2025-07-09T01:33:23.342Z","repository":{"id":47798018,"uuid":"43732265","full_name":"kmshack/Android-TopScrollHelper","owner":"kmshack","description":"Android-TopScrollHelper","archived":false,"fork":false,"pushed_at":"2016-06-16T01:25:09.000Z","size":1180,"stargazers_count":308,"open_issues_count":1,"forks_count":32,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-05-08T20:58:12.541Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.kmshack.kr","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kmshack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-06T05:47:34.000Z","updated_at":"2025-05-02T16:28:26.000Z","dependencies_parsed_at":"2022-09-03T10:01:28.624Z","dependency_job_id":null,"html_url":"https://github.com/kmshack/Android-TopScrollHelper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kmshack/Android-TopScrollHelper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmshack%2FAndroid-TopScrollHelper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmshack%2FAndroid-TopScrollHelper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmshack%2FAndroid-TopScrollHelper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmshack%2FAndroid-TopScrollHelper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kmshack","download_url":"https://codeload.github.com/kmshack/Android-TopScrollHelper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmshack%2FAndroid-TopScrollHelper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264375547,"owners_count":23598396,"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":[],"created_at":"2024-11-20T05:32:39.295Z","updated_at":"2025-07-09T01:33:22.959Z","avatar_url":"https://github.com/kmshack.png","language":"Java","funding_links":[],"categories":["Libs"],"sub_categories":["\u003cA NAME=\"Widget\"\u003e\u003c/A\u003eWidget"],"readme":"In the View with the function of scrolling of the code written for Android provides convenience for the user back to the top. If you double tap the top of the Android system bar The View with the ability to scroll to the top of the scroll are. Tap the system bar of iPhone features that are identical to scroll to the top.\n\nAndroid developers can use this functionality with a simple code.\n\n[![Analytics](https://ga-beacon.appspot.com/UA-51734472-3/Android-TopScrollHelper/readme)](https://github.com/kmshack/Android-TopScrollHelper)\n\n \n \n\n![screens](screen.png)\n\n  \n  \n\nAutoScroll Support View\n-----------\n\n* ScrollView\n* NestedScrollView\n* WebView\n* ListView\n* RecyclerView\n\n\n\n  \n  \n\nInstructions\n-----------\n\n* Add the following permission to use the popup window on the Android Manifest.\n\n```xml\n\u003cuses-permission android: name = \"android.permission.SYSTEM_ALERT_WINDOW\" /\u003e\n```\n\n  \n  \n\n* Add the view that the automatic scrolling feature scrolls to add to addTargetScrollView(view) method and removed removeTargetScrollView(view).\nActivity or Fragment of a scroll view allows calls to be fit to Create and Destory LifeCycle point.\n\n\n\n```java\n@Override\nprotected void onCreate (Bundle savedInstanceState) {\n   \n   super.onCreate(savedInstanceState);\n   ...\n   \n   mNestedScrollView = (NestedScrollView)findViewById(R.id.scrollView);\n   TopScrollHelper.getInstance(getApplicationContext()).addTargetScrollView(mNestedScrollView);\n}\n\n \n\n@Override\nprotected void onDestroy () {\n\n   TopScrollHelper.getInstance(getApplicationContext()).removeTargetScrollView(mNestedScrollView);\n   super.onDestroy();\n\n}\n\n```\n\n* The Android 6.0 (Marshmallow) Starting obtain permission directly, and then obtained permission to call the addTargetScrollView(view).\n  \n  \n  \n\nGradle\n-----------\n```java\ncompile 'com.kmshack.library:android-topscroll-helper:1.0.0'\n```\n[ ![Download](https://api.bintray.com/packages/kmshack/maven/android-topscroll-helper/images/download.svg) ](https://bintray.com/kmshack/maven/android-topscroll-helper/_latestVersion)\n\n  \nSample App Download\n-----------\nhttps://play.google.com/store/apps/details?id=com.kmshack.topscrollsample\n\n  \n\n\nVideo\n-----------\nhttps://youtu.be/dlZoVnZoIVk\n\n  \n  \n  \n\n-----------\n-----------\n  \n  \n  \n\n안드로이드의 스크롤의 기능을 가진 View에서 최상단으로 돌아가기 위한 사용자들을 편의제공을 위해 작성된 코드이다. 안드로이드 상단 시스템바에 더블탭을 하면 스크롤의 기능을 가진 View들은 최상단으로 스크롤 하게 된다. 아이폰의 시스템바 터치시 최상단으로 스크롤 되는 기능과 동일하다.\n\n안드로이드 개발자들은 간단한 코드를 통해 이와 같은 기능을 사용할 수 있다. \n \n \n\n![screens](screen.png)\n\n  \n  \n\n자동스크롤 지원 View\n-----------\n\n* ScrollView\n* NestedScrollView\n* WebView\n* ListView\n* RecyclerView\n\n\n\n  \n  \n\n사용법\n-----------\n\n* 안드로이드 Manifest에 다음과 윈도우 팝업을 사용할 수 있도록 퍼미션을 추가 한다.\n\n```xml\n\u003cuses-permission android: name = \"android.permission.SYSTEM_ALERT_WINDOW\" /\u003e\n```\n\n  \n  \n\n* 자동 스크롤 기능을 추가 하기위해 스크롤 되는 뷰를 addTargetScrollView(view)메소드로 추가하고 removeTargetScrollView(view)로 제거한다.\nActivity또는 Fragment의 스크롤뷰가 Create와 Destory되는 LifeCycle 시점에 맞게 호출 해준다.\n\n\n\n\n```java\n@Override\nprotected void onCreate (Bundle savedInstanceState) {\n   \n   super.onCreate(savedInstanceState);\n   ...\n   \n   mNestedScrollView = (NestedScrollView)findViewById(R.id.scrollView);\n   TopScrollHelper.getInstance(getApplicationContext()).addTargetScrollView(mNestedScrollView);\n}\n\n \n\n@Override\nprotected void onDestroy () {\n\n   TopScrollHelper.getInstance(getApplicationContext()).removeTargetScrollView(mNestedScrollView);\n   super.onDestroy();\n\n}\n\n```\n\n\n* 안드로이드 6.0(마시멜로)부터는 직접 퍼미션을 얻어야 하며, 퍼미션을 얻은 후 addTargetScrollView(view)를 호출한다.\n  \n  \nSample App Download\n-----------\nhttps://play.google.com/store/apps/details?id=com.kmshack.topscrollsample\n  \n\n영상\n-----------\nhttps://youtu.be/dlZoVnZoIVk\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkmshack%2FAndroid-TopScrollHelper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkmshack%2FAndroid-TopScrollHelper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkmshack%2FAndroid-TopScrollHelper/lists"}