{"id":20216666,"url":"https://github.com/developer-shivam/featuredrecyclerview","last_synced_at":"2025-04-10T15:13:08.149Z","repository":{"id":115367913,"uuid":"93859176","full_name":"developer-shivam/FeaturedRecyclerView","owner":"developer-shivam","description":"Ultimate recycler view.","archived":false,"fork":false,"pushed_at":"2018-04-22T09:15:41.000Z","size":7900,"stargazers_count":852,"open_issues_count":7,"forks_count":117,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-03-24T13:11:18.548Z","etag":null,"topics":["animation","customview","recyclerview"],"latest_commit_sha":null,"homepage":"","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/developer-shivam.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}},"created_at":"2017-06-09T13:02:00.000Z","updated_at":"2024-11-13T10:17:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"21210c9f-094c-48aa-be5e-7de2fa01162d","html_url":"https://github.com/developer-shivam/FeaturedRecyclerView","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-shivam%2FFeaturedRecyclerView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-shivam%2FFeaturedRecyclerView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-shivam%2FFeaturedRecyclerView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-shivam%2FFeaturedRecyclerView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developer-shivam","download_url":"https://codeload.github.com/developer-shivam/FeaturedRecyclerView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248243206,"owners_count":21071054,"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":["animation","customview","recyclerview"],"created_at":"2024-11-14T06:29:11.336Z","updated_at":"2025-04-10T15:13:08.130Z","avatar_url":"https://github.com/developer-shivam.png","language":"Java","funding_links":["https://www.paypal.me/developerShivam/5","https://www.paypal.me/developerShivam/10","https://www.paypal.me/developerShivam/15","https://www.paypal.me/developerShivam/25","https://www.paypal.me/developerShivam/50","https://www.paypal.me/developerShivam/100","https://www.paypal.me/developerShivam/2799"],"categories":[],"sub_categories":[],"readme":"FeaturedRecyclerView\n------------------------------\n**FeaturedRecyclerView** is a custom **ViewGroup** which is made by extending **ReyclerView**. As name suggest **FeaturedRecyclerView**, it features the first item which is at top (by setting its height to **featuredItemHeight**).\n\n[![API](https://img.shields.io/badge/API-11%2B-red.svg)](https://android-arsenal.com/api?level=11) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-FeaturedRecyclerView-yellowgreen.svg?style=flat)](https://android-arsenal.com/details/1/5892)\n\nI have written article on this library (How's it working)\nhttps://blog.mindorks.com/hack-that-recyclerview-f6b8238e68ec\n\n![SampleGIF](/art/mockup.png) \n\nAttributes\n----------\n\n* **featuredItemHeight**: Height of first item.\n* **defaultItemHeight** : Height of other items.\n* **offset** : It is not a xml attribute but a parameter which is received in **FeaturedRecyclerViewAdapter**'s method to animate the property of childs widget.\n\n![SampleGIF](/art/sample_GIF.gif) \n\nDiagramatic View\n-----------------------\n![SampleDiagram](/art/diagram_small.jpg) \n\nConcept\n----------\n![Concept](/art/concept.gif) \n\nFutureWork\n---------------\n* **Horizontal Orientation** support would be added.\n* **Reference Points** would be changed.\n\nBasic Usage\n-----------\n\nAdd below lines in build.gradle at app level.\n```java\ncompile 'com.github.developer-shivam:FeaturedRecyclerView:1.0.0'\n```\n\n*For a working implementation, see `/app` folder*\n\n```java\nFeaturedRecyclerView featuredRecyclerView = (FeaturedRecyclerView) findViewById(R.id.featured_recycler_view);\nFeatureLinearLayoutManager layoutManager = new FeatureLinearLayoutManager(this);\nfeaturedRecyclerView.setLayoutManager(layoutManager);\nCustomRecyclerViewAdapter adapter = new CustomRecyclerViewAdapter(this, dummyData);featuredRecyclerView.setAdapter(adapter);\n```\n\nYou must use **FeaturedLinearLayoutManager** to avoid flickering.\n\n```xml\n\u003cdeveloper.shivam.featuredrecyclerview.FeaturedRecyclerView android:id=\"@+id/featured_recycler_view\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:featuredItemHeight=\"400dp\"\n    android:defaultItemHeight=\"200dp\" /\u003e\n```\n\nAdavantages of using **FeaturedRecyclerViewAdapter** is that it contains two more methods which can be used to animate the properties of childs attribute (like textView fading).\n\n```java\n    @Override\n    public void onSmallItemResize(CustomRecyclerViewHolder holder, int position, float offset) {\n       holder.tvHeading.setAlpha(offset / 100f);\n    }\n\n    @Override\n    public void onBigItemResize(CustomRecyclerViewHolder holder, int position, float offset) {\n       holder.tvHeading.setAlpha(offset / 100f);\n    }\n```\nDonations\n-------------\n\nThis project needs you! If you would like to support this project's further development, the creator of this project or the continuous maintenance of this project, feel free to donate. Your donation is highly appreciated (and I love food, coffee and beer). Thank you!\n\n**PayPal**\n\n* **[Donate $5]**: Thank's for creating this project, here's a coffee (or some beer) for you!\n* **[Donate $10]**: Wow, I am stunned. Let me take you to the movies!\n* **[Donate $15]**: I really appreciate your work, let's grab some lunch!\n* **[Donate $25]**: That's some awesome stuff you did right there, dinner is on me!\n* **[Donate $50]**: I really really want to support this project, great job!\n* **[Donate $100]**: You are the man! This project saved me hours (if not days) of struggle and hard work, simply awesome!\n* **[Donate $2799]**: Go buddy, buy Macbook Pro for yourself!\nOf course, you can also choose what you want to donate, all donations are awesome!\n\nConnect With Me\n-----------\n\nShivam Satija (droidsergeant)\nI love making new friends, please feel free to connect with me.\n\n\u003ca href=\"https://plus.google.com/108004024169425288075\"\u003e\n  \u003cimg alt=\"Connect me on Google+\" src=\"/art/gplus.png\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.facebook.com/theShivamSatija\"\u003e\n  \u003cimg alt=\"Connect me on Facebook\" src=\"/art/fb.png\" width=\"64\" height=\"64\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://in.linkedin.com/in/developershivam\"\u003e\n  \u003cimg alt=\"Connect me on LinkedIn\" src=\"/art/linkedin.png\" /\u003e\n\u003c/a\u003e \n\nQuestion / Contact Me / Hire Me\n---------------------\nPlease feel free to ping me at **dr.droid27@gmail.com**. Expected package would be **6 lpa**.\n\nLicense\n-------\n\n```\nCopyright 2017 Shivam Satija\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n\n[Facebook]:          /art/fb.png\n[Google+]:             /art/gplus.png\n[LinkedIn]:             /art/linkedin.png\n\n[Donate $5]: \t\thttps://www.paypal.me/developerShivam/5\n[Donate $10]:  \thttps://www.paypal.me/developerShivam/10\n[Donate $15]:  \thttps://www.paypal.me/developerShivam/15\n[Donate $25]:  \thttps://www.paypal.me/developerShivam/25\n[Donate $50]: \t\thttps://www.paypal.me/developerShivam/50\n[Donate $100]: \thttps://www.paypal.me/developerShivam/100\n[Donate $2799]: \thttps://www.paypal.me/developerShivam/2799","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloper-shivam%2Ffeaturedrecyclerview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveloper-shivam%2Ffeaturedrecyclerview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloper-shivam%2Ffeaturedrecyclerview/lists"}