{"id":18753066,"url":"https://github.com/amalh/expandit","last_synced_at":"2025-04-13T00:31:35.351Z","repository":{"id":57732157,"uuid":"134910447","full_name":"AmalH/expandit","owner":"AmalH","description":"Custom [expandable] listview library for Android","archived":false,"fork":false,"pushed_at":"2018-06-04T17:44:52.000Z","size":31671,"stargazers_count":7,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T18:52:38.982Z","etag":null,"topics":["android","android-library","android-listview","custom-listview","expandablelistview"],"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/AmalH.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":"2018-05-25T22:30:32.000Z","updated_at":"2023-09-18T11:09:16.000Z","dependencies_parsed_at":"2022-08-28T07:51:56.316Z","dependency_job_id":null,"html_url":"https://github.com/AmalH/expandit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalH%2Fexpandit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalH%2Fexpandit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalH%2Fexpandit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmalH%2Fexpandit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmalH","download_url":"https://codeload.github.com/AmalH/expandit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650590,"owners_count":21139670,"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","android-listview","custom-listview","expandablelistview"],"created_at":"2024-11-07T17:24:04.922Z","updated_at":"2025-04-13T00:31:30.588Z","avatar_url":"https://github.com/AmalH.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expandit\nExpandit is a library for Android that offers a highly customizable expandable listview. You can even customize if \"Expandit\" can be expanded or not !\n\n## Demo\n\n\n\n\n* ### Sample app\nThis video showcases some of Expandit features ( using different list item description view, showing the list as a dialog or in-activity, making the list unexpandable and more ) :\n   \u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.youtube.com/watch?v=2GJ8uRUC3uw\" target=\"_blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/AmalH/expandit/master/screenshots/demoThumbail.png\"/\u003e\u003c/a\u003e\n   \u003c/p\u003e\n\n\n* ### Screenshots: \nThe following section presents a screenshot for each code snippet.\n  \n\n## QuickStart\n\nIncluding Expandit into the build.gradle file:\n```Java\nimplementation 'com.github.AmalH:expandit:1.0.0'\n```\nUsing Expandit:\n* ### Using Expandit as a dialog\n\n  * Example 1\n    ```Java\n     ArrayList\u003cString\u003e listItemsTitles =  new ArrayList\u003c\u003e(Arrays.asList(\"Overview\",\"Getting started\",\"Basics\",\"Classes and objects\",\"Functions and lambdas\"\n        ,\"Others\",\"Java Interop\",\"Javascript\"));\n    ArrayList\u003cString\u003e defaultListItemsDetails =  new ArrayList\u003c\u003e(Arrays.asList(\"description of item 1\",\"description of item 2\",\"description of item 3\",\"description of item 4\",\"description of item 5\",\"description of item 6\",\"description of item 7\",\"description of item 8\"));\n    ArrayList\u003cInteger\u003e listItemsIcons =  new ArrayList\u003c (Arrays.asList(R.drawable.ic_overview,R.drawable.ic_start,R.drawable.ic_basics,R.drawable.ic_classesobjects,R.drawable.ic_functions,R.drawable.ic_others,R.drawable.ic_java,R.drawable.ic_javascript));      \n    ArrayList\u003cString \u003e expandedItems1 =  new ArrayList\u003c\u003e(Arrays.asList(\"chapter 1\", \"chapter 2\",\"chapter 2\"));\n    ArrayList\u003cString \u003e expandedItems2 =  new ArrayList\u003c\u003e(Arrays.asList(\"1st chapter\", \"2nd chapter\",\"3d chapter\"));\n    HashMap\u003cInteger,ArrayList\u003e listData = new HashMap\u003cInteger,ArrayList\u003e(){\n            {\n                put(0,expandedItems1);\n                put(1,expandedItems2);\n                put(2,expandedItems3);\n                put(3,expandedItems4);\n                put(4,expandedItems5);\n                put(5,expandedItems6);\n                put(6,expandedItems7);\n                put(7,expandedItems8);\n            }\n        };\n    \n    new ExpanditDialogList(MainActivity.this,\"custom item details2\",listItemsTitles2,listData,listItemsIcons2,listMenuId,R.layout.custom_item_details_view2)).show()\n    ```\n    \n    \u003cp align=\"center\"\u003e\n       \u003cimg src=\"https://raw.githubusercontent.com/AmalH/expandit/master/screenshots/scrnSht31.png\"/\u003e\n       \u003cimg src=\"https://raw.githubusercontent.com/AmalH/expandit/master/screenshots/scrnSht32.png\"/\u003e\n   \u003c/p\u003e\n\n    * Example 2 \n    ```Java     \n    new ExpanditDialogList(MainActivity.this, \"Kotlin courseslist\",listItemsTitles,listData,listItemsIcons,listMenuId,defaultListItemsDetails)).show()\n    \n    ```\n    \u003cp align=\"center\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/AmalH/expandit/master/screenshots/scrnSht1.png\"/\u003e\n   \u003c/p\u003e\n    \n     * Example 3\n    ```Java\n    ExpanditDialogList myList = new ExpanditDialogList(MainActivity.this);\n    myList.setTitle(\"Non-expandable!\");\n    myList.setListItemsTitles(listItemsTitles);\n    myList.setListItemsIcons(listItemsIcons);\n    //myList.setListItemMenu(defaultListMenu);\n    myList.show();\n    ```\n    \n   \n* ### Using Expandit as a list (in-activity)\n    * Example 1\n    ```Java\n    addView(new ExpanditActivityList(MainActivity.this,\"Kotlin courseslist\",listItemsTitles,listData,listItemsIcons,listMenuId,defaultListItemsDetails));\n    .\n    OR\n    .\n    (findViewById(R.id.myList)).setAdapter(new ExpanditListAdapter(context,listItemsTitles,listData,listItemsIcons,listMenuId,defaultListItemsDetails))\n    ```\n     \u003cp align=\"center\"\u003e\n         \u003cimg src=\"https://raw.githubusercontent.com/AmalH/expandit/master/screenshots/scrnSht4.png\"/\u003e\n     \u003c/p\u003e\n    \n    * Example 2\n    ```Java\n    addView(new ExpanditActivityList(MainActivity.this,\"custom item details 1\",listItemsTitles,listData,listItemsIcons,listMenuId,R.layout.custom_item_details_view));\n    .\n    OR\n    .\n    (findViewById(R.id.myList)).setAdapter(new ExpanditListAdapter(context,listItemsTitles,listData,listItemsIcons,listMenuId,customDetailsView))\n    ```\n    \n    \u003cp align=\"center\"\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/AmalH/expandit/master/screenshots/scrnSht5.png\"/\u003e\n   \u003c/p\u003e\n\n## Getting help\nIf you spot a problem you can open an issue here, or you can tweet me at  [@AmalHichrii](http://twitter.com/AmalHichrii).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famalh%2Fexpandit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famalh%2Fexpandit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famalh%2Fexpandit/lists"}