项目作者: AmalH

项目描述 :
Custom [expandable] listview library for Android
高级语言: Java
项目地址: git://github.com/AmalH/expandit.git
创建时间: 2018-05-25T22:30:32Z
项目社区:https://github.com/AmalH/expandit

开源协议:

下载


Expandit

Expandit is a library for Android that offers a highly customizable expandable listview. You can even customize if “Expandit” can be expanded or not !

Demo

  • Sample app

    This 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 ) :



  • Screenshots:

    The following section presents a screenshot for each code snippet.

QuickStart

Including Expandit into the build.gradle file:

  1. implementation 'com.github.AmalH:expandit:1.0.0'

Using Expandit:

  • Using Expandit as a dialog

    • Example 1

      1. ArrayList<String> listItemsTitles = new ArrayList<>(Arrays.asList("Overview","Getting started","Basics","Classes and objects","Functions and lambdas"
      2. ,"Others","Java Interop","Javascript"));
      3. ArrayList<String> defaultListItemsDetails = new ArrayList<>(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"));
      4. ArrayList<Integer> listItemsIcons = new ArrayList< (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));
      5. ArrayList<String > expandedItems1 = new ArrayList<>(Arrays.asList("chapter 1", "chapter 2","chapter 2"));
      6. ArrayList<String > expandedItems2 = new ArrayList<>(Arrays.asList("1st chapter", "2nd chapter","3d chapter"));
      7. HashMap<Integer,ArrayList> listData = new HashMap<Integer,ArrayList>(){
      8. {
      9. put(0,expandedItems1);
      10. put(1,expandedItems2);
      11. put(2,expandedItems3);
      12. put(3,expandedItems4);
      13. put(4,expandedItems5);
      14. put(5,expandedItems6);
      15. put(6,expandedItems7);
      16. put(7,expandedItems8);
      17. }
      18. };
      19. new ExpanditDialogList(MainActivity.this,"custom item details2",listItemsTitles2,listData,listItemsIcons2,listMenuId,R.layout.custom_item_details_view2)).show()




      • Example 2
        ```Java
        new ExpanditDialogList(MainActivity.this, “Kotlin courseslist”,listItemsTitles,listData,listItemsIcons,listMenuId,defaultListItemsDetails)).show()
      1. <p align="center">
      2. <img src="https://raw.githubusercontent.com/AmalH/expandit/master/screenshots/scrnSht1.png"/>
      3. </p>
      4. * Example 3
      5. ```Java
      6. ExpanditDialogList myList = new ExpanditDialogList(MainActivity.this);
      7. myList.setTitle("Non-expandable!");
      8. myList.setListItemsTitles(listItemsTitles);
      9. myList.setListItemsIcons(listItemsIcons);
      10. //myList.setListItemMenu(defaultListMenu);
      11. myList.show();
  • Using Expandit as a list (in-activity)

    • Example 1

      1. addView(new ExpanditActivityList(MainActivity.this,"Kotlin courseslist",listItemsTitles,listData,listItemsIcons,listMenuId,defaultListItemsDetails));
      2. .
      3. OR
      4. .
      5. (findViewById(R.id.myList)).setAdapter(new ExpanditListAdapter(context,listItemsTitles,listData,listItemsIcons,listMenuId,defaultListItemsDetails))



    • Example 2

      1. addView(new ExpanditActivityList(MainActivity.this,"custom item details 1",listItemsTitles,listData,listItemsIcons,listMenuId,R.layout.custom_item_details_view));
      2. .
      3. OR
      4. .
      5. (findViewById(R.id.myList)).setAdapter(new ExpanditListAdapter(context,listItemsTitles,listData,listItemsIcons,listMenuId,customDetailsView))



Getting help

If you spot a problem you can open an issue here, or you can tweet me at @AmalHichrii.