[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7317":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":8,"pushedAt":8,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":14,"starSnapshotCount":14,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},7317,"ShimmerRecyclerView","sharish\u002FShimmerRecyclerView","sharish",null,"Kotlin",4014,542,69,17,0,57.2,"Other",false,"master",true,[],"2026-06-12 04:00:33","[![Android Arsenal](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAndroid%20Arsenal-ShimmerRecyclerView-brightgreen.svg?style=flat)](https:\u002F\u002Fandroid-arsenal.com\u002Fdetails\u002F1\u002F5058)\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002Fsharish\u002FShimmerRecyclerView.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002Fsharish\u002FShimmerRecyclerView)\n\n# ShimmerRecyclerView\n\n\nIntro\n------\n\nA custom recycler view with shimmer views to indicate that views are loading. The recycler view has a built-in adapter to control the shimmer appearance and provide two methods -\n\n* showShimmerAdapter() - set up a demo adapter a predefined number of child demo views.\n* hideShimmerAdapter() - restores your adapter to show the actual child elements.\n\n    \nDemo Screen\n------\n\nThere are two kinds of shimmer animation which you can see here:\n\n1. This type of shimmer effect uses the whole ViewHolder item to animate on.\n\n|     List Demo                |        Grid Demo              | \n| ----------------------------  | ----------------------------- | \n| \u003Cimg src='screenshots\u002Flist_demo.gif' height=444 width=250 \u002F> | \u003Cimg src='screenshots\u002Fgrid_demo.gif' height=444 width=250 \u002F>   |\n\n2. Here the shimmer effect only applied on for those views which background color is nontransparent.\n\n|     List Demo                |        Grid Demo              |\n| ----------------------------  | ----------------------------- |\n| \u003Cimg src='screenshots\u002Fsecond_list_demo.gif' height=444 width=250 \u002F> | \u003Cimg src='screenshots\u002Fsecond_grid_demo.gif' height=444 width=250 \u002F>   |\n\n\n### Shimmer effect types\n\n1. As you can see the first demo examples show that the whole ViewHolder item is animated. To achieve the desired effect, the children of the ShimmerLayout should have a nontransparent background.\n2. You can achieve the second kind of shimmer effect by adding only one ViewGroup child to the ShimmerLayout with a transparent background. This ViewGroup will have the other views with nontransparent backgrounds on which the effect will be seen.\n\n   You may wonder how can you add background to the root view of the ViewHolder, if you do not have direct access to the ShimmerLayout and the only child has a nontransparent background. The solution for this is to use the `shimmer_demo_view_holder_item_background` attribute.\n\n### Attributes and Methods\n\nFollowing are the attributes and methods to initialise the demo views.\n\n| XML Attributes | Java Methods | Explanation |\n| -------------  | ------------ | ----------- | \n|```app:shimmer_demo_child_count``` | ```setDemoChildCount(int)``` | Integer value that sets the number of demo views should be present in shimmer adapter. |\n|```app:shimmer_demo_layout``` | ```setDemoLayoutReference(int)``` | Layout reference to your demo view. Define your my_demo_view.xml and refer the layout reference here. |\n|```app:shimmer_demo_layout_manager_type``` | ```setDemoLayoutManager(LayoutManagerType)``` | Layout manager of demo view. Can be one among linear_vertical or linear_horizontal or grid. |\n|```app:shimmer_demo_shimmer_color``` | ``` - ``` | Color reference or value. It can be used to change the color of the shimmer line. |\n|```app:shimmer_demo_angle``` | ``` - ``` | Integer value between 0 and 30 which can modify the angle of the shimmer line. The default value is zero. |\n|```app:shimmer_demo_mask_width``` | ``` setDemoShimmerMaskWidth(float) ``` | Float value between 0 and 1 which can modify the width of the shimmer line. The default value is 0.5. |\n|```app:shimmer_demo_view_holder_item_background``` | ``` - ``` | Color or an xml drawable for the ViewHolder background if you want to achieve the second type of shimmer effect. |\n|```app:shimmer_demo_reverse_animation``` | ``` - ``` | Defines whether the animation should be reversed. If it is true, then the animation starts from the right side of the View. Default value is false. |\n\n\n\nUsage\n--------\n\nDefine your xml as:\n\n```xml\n\u003Ccom.cooltechworks.views.shimmer.ShimmerRecyclerView\n        xmlns:app=\"http:\u002F\u002Fschemas.android.com\u002Fapk\u002Fres-auto\"\n        android:id=\"@+id\u002Fshimmer_recycler_view\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        app:shimmer_demo_child_count=\"10\"\n        app:shimmer_demo_grid_child_count=\"2\"\n        app:shimmer_demo_layout=\"@layout\u002Flayout_demo_grid\"\n        app:shimmer_demo_layout_manager_type=\"grid\"\n        app:shimmer_demo_angle=\"20\"\n        \u002F>\n\n```\nwhere ```@layout\u002Flayout_demo_grid``` refers to your sample layout that should be shown during loading spinner. Now on your activity onCreate, initialize the shimmer as below:\n\n```java\nShimmerRecyclerView shimmerRecycler = (ShimmerRecyclerView) findViewById(R.id.shimmer_recycler_view);\nshimmerRecycler.showShimmerAdapter();\n```\n\nAdding to your project\n------------------------\n\n- Add the following configuration in your build.gradle file.\n\n```gradle\nrepositories {\n    jcenter()\n    maven { url \"https:\u002F\u002Fjitpack.io\" }\n}\n\ndependencies {\n    implementation 'com.github.sharish:ShimmerRecyclerView:v1.3'\n}\n```\n\nDeveloped By\n------------\n\n* Harish Sridharan - \u003Charish.sridhar@gmail.com>\n\n\nUsed libraries\n----------------\n\n* \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fteam-supercharge\u002FShimmerLayout\">ShimmerLayout\u003C\u002Fa>: the library which achieves the shimmer effect in a memory efficient way.\n\nLicense\n--------\nThe repo is released under following licenses\n\n\u003Ca href=\"LICENSE.md\">Apache License\u003C\u002Fa> for ShimmerRecycler\u003Cbr>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fteam-supercharge\u002FShimmerLayout\u002Fblob\u002Fmaster\u002FLICENSE.md\">Apache License\u003C\u002Fa> for ShimmerLayout\n\n\n\n\n","ShimmerRecyclerView 是一个带有闪烁效果的自定义 RecyclerView，用于指示视图正在加载中。该项目使用 Kotlin 开发，提供了两种方法来控制闪烁效果：showShimmerAdapter() 用于展示预定义数量的示例视图以模拟加载状态，而 hideShimmerAdapter() 则恢复显示实际内容。它支持列表和网格布局下的全视图或部分视图的闪烁动画，适用于需要在数据加载过程中提供视觉反馈的Android应用界面，如新闻列表、商品展示等场景，能够显著提升用户体验。",2,"2026-06-11 03:11:43","top_language"]