{"id":13643329,"url":"https://github.com/adityagohad/HorizontalPicker","last_synced_at":"2025-04-21T01:32:16.935Z","repository":{"id":21637443,"uuid":"93502661","full_name":"adityagohad/HorizontalPicker","owner":"adityagohad","description":"A simple, customizable and easy to use picker where centre view is scaled up","archived":false,"fork":false,"pushed_at":"2024-07-20T11:30:13.000Z","size":1003,"stargazers_count":364,"open_issues_count":12,"forks_count":45,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-09T15:42:26.457Z","etag":null,"topics":["android","centre","customizable","horizontalnumberpicker","horizontalpicker","layoutmanager","picker","recycler","recyclerview","scale"],"latest_commit_sha":null,"homepage":null,"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/adityagohad.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-06T09:48:58.000Z","updated_at":"2024-08-31T14:01:49.000Z","dependencies_parsed_at":"2024-11-09T15:32:07.769Z","dependency_job_id":"17cee597-df3c-45db-9b08-a3d41fa79a40","html_url":"https://github.com/adityagohad/HorizontalPicker","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityagohad%2FHorizontalPicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityagohad%2FHorizontalPicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityagohad%2FHorizontalPicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityagohad%2FHorizontalPicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adityagohad","download_url":"https://codeload.github.com/adityagohad/HorizontalPicker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249982605,"owners_count":21355731,"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","centre","customizable","horizontalnumberpicker","horizontalpicker","layoutmanager","picker","recycler","recyclerview","scale"],"created_at":"2024-08-02T01:01:45.974Z","updated_at":"2025-04-21T01:32:16.927Z","avatar_url":"https://github.com/adityagohad.png","language":"Java","funding_links":[],"categories":["选择器(Picker)"],"sub_categories":[],"readme":"# HorizontalPicker\nA simple, customizable and easy to use picker where centre view is scaled up\n\n[![License Apache](https://img.shields.io/badge/license-Apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-HorizontalPicker-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/5849)\n\n![Demo screen 1](https://raw.githubusercontent.com/adityagohad/HorizontalPicker/master/art/picker_demo.gif)\n\n## QuickStart ##\n### Include the Gradle dependency ###\n\n```java\ndependencies {\n    compile 'com.github.adityagohad:HorizontalPicker:1.0.1'\n}\n```\nDon't forget to add following to build.gradle(Project:{your_project_name\u003e})\n\n```\nallprojects {\n    repositories {\n        jcenter()\n        maven { url \"https://jitpack.io\" }\n    }\n}\n```\n\n## How to use ##\nYour picker will be recyclerView and this lib is just a custom layout manager\nto initialize the PickerLayoutManager and set the properties\n\n```java\nPickerLayoutManager pickerLayoutManager = new PickerLayoutManager(this, PickerLayoutManager.HORIZONTAL, false);\npickerLayoutManager.setChangeAlpha(true);\npickerLayoutManager.setScaleDownBy(0.99f);\npickerLayoutManager.setScaleDownDistance(0.8f);\n```\nTo make it snap to centre use ```SnapHelper```\n\n```java\nSnapHelper snapHelper = new LinearSnapHelper();\nsnapHelper.attachToRecyclerView(recyclerView);\n```\nset layout manager of your recyclerVew\n\n```java\nrecyclerView.setLayoutManager(pickerLayoutManager);\n```\n\nTo get selected view use ```onScrollStopListener```\n\n```java\npickerLayoutManager.setOnScrollStopListener(new PickerLayoutManager.onScrollStopListener() {\n    @Override\n        public void selectedView(View view) {\n            //Do your thing\n        }\n    });\n}\n```\n## Don't forget this ##\nTo its core it is a recycler view with custom layout manager so if you forget to add ``` clipToPadding=\"false\" ``` you will never be able to select first and last few elemets(values/views).\n\u003cbr\u003eSo always add paddingLeft and paddingRight like shown below. \n```\n    \u003candroid.support.v7.widget.RecyclerView\n        android:id=\"@+id/rv\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_centerHorizontal=\"true\"\n        android:layout_centerVertical=\"true\"\n        android:clipToPadding=\"false\"\n        android:paddingLeft=\"183dp\"\n        android:paddingRight=\"183dp\" /\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityagohad%2FHorizontalPicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadityagohad%2FHorizontalPicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityagohad%2FHorizontalPicker/lists"}