[Free] DynamicListView Extension from Still Learning

Version 02

Few blocks are added
Few blocks are removed

Design 1

Design 2

Design 3

Design 4

Design 5

Design 6

Design 7

Design 8

Design 9

Design 10

The components include ImageView, Favorite Button (star), Texts (titles, subtitles), Description, and Action Button (CardView button). The layout containers and their orientation are also noted for clarity.

Design ImageView Position & Size Favorite Button Position & Size Texts Position & Layout Description Position & Layout Action Button Position & Layout Other Notes / Containers
1 Top, full width, height=180dp, FrameLayout container Overlay on top-right corner of image, 40x40dp, FrameLayout.LayoutParams with gravity TOP Below image, vertical LinearLayout Below texts, vertical LinearLayout Below description/texts, vertical LinearLayout CardView > LinearLayout(vertical) > FrameLayout(image container) + textLayout
2 Left, 100x100dp, vertical LinearLayout container Below image, centered horizontally, 40x40dp Right side, vertical LinearLayout with weight=1 Below texts, vertical LinearLayout Below all, vertical LinearLayout CardView > LinearLayout(vertical) > LinearLayout(horizontal) with imageContainer + textLayout
3 Right, 80x80dp, vertical LinearLayout container Below image, 40x40dp Left side, vertical LinearLayout with weight=1 Below texts, vertical LinearLayout Below image and favButton, vertical LinearLayout CardView > LinearLayout(vertical) > LinearLayout(horizontal) with textLayout + rightLayout(image + fav + button)
4 Top, full width, height=150dp, FrameLayout container Overlay on top-right corner of cardFrame, 40x40dp, FrameLayout.LayoutParams with gravity TOP Below image, vertical LinearLayout Below texts, vertical LinearLayout Bottom right aligned, horizontal LinearLayout with compact button CardFrame(FrameLayout) > CardView > LinearLayout(vertical) > FrameLayout(image container) + textLayout + buttonBar
5 Top, full width, height=150dp, FrameLayout container Below texts, top-right corner inside root layout, 40x40dp, FrameLayout.LayoutParams with gravity TOP Below image, left side, vertical LinearLayout with weight=1 Below contentLayout (texts + button), vertical LinearLayout Inside contentLayout, right side, button with compact style CardView > LinearLayout(vertical) > FrameLayout(imageFrame) + contentLayout(horizontal) with textLayout + button
6 Top, full width, height=180dp, FrameLayout container with overlay Overlay on top-right corner of image in FrameLayout, 40x40dp Below image, vertical LinearLayout with padding Below texts, vertical LinearLayout Below description/texts, vertical LinearLayout CardView > FrameLayout(image + overlay + favButton) + LinearLayout(texts + button)
7 Left, 50x50dp, horizontal LinearLayout root Inline with title text, 24x24dp, horizontal LinearLayout Right side, vertical LinearLayout with weight=1 Below subtitles, vertical LinearLayout Below texts, vertical LinearLayout CardView > LinearLayout(horizontal) > ImageView + textStarLayout(vertical) with titleStarLayout(horizontal) + subtitles + description + button
8 Left, 100x100dp, horizontal LinearLayout root Inline with title text, 24x24dp, horizontal LinearLayout Right side, vertical LinearLayout with weight=1 Below subtitles, vertical LinearLayout “More” button bottom right aligned, vertical LinearLayout CardView > LinearLayout(horizontal) > ImageView + rightLayout(vertical) with titleStarLayout(horizontal) + subtitles + description + moreButton
9 Left, 80x80dp, horizontal LinearLayout firstVA Right side of firstVA, 40x40dp, horizontal LinearLayout Center of firstVA, vertical LinearLayout with weight=1 Below firstVA, vertical LinearLayout Below description/texts, vertical LinearLayout CardView > LinearLayout(vertical) > firstVA(horizontal) with imageView + titleSubLayout + favButton + description + button
10 Left, 50x50dp, horizontal LinearLayout root Inline with title text, 24x24dp, horizontal LinearLayout Right side, vertical LinearLayout with weight=1 Below subtitles, vertical LinearLayout Below texts, vertical LinearLayout CardView > LinearLayout(horizontal) > ImageView + textStarLayout(vertical) with titleStarLayout(horizontal) + subtitles + description + button

io.jai.dynamiclistview.aix (38.9 KB)

What are the components can be modified?

  1. Title 1 - Font,color
  2. Subtitle1&2 - Font, Color
  3. Cardview - background, stroke width, stroke colour, gap between each card, radius (do not try to set width and height as it contains many child it may distorted)
  4. Image - isround true / false
  5. Action button - text, text + material icon, bg colour, text color, stroke width, stroke colour

You can easily manage the favorites upon clicking the fav button

Method 1: Create DynamicList from the global data
Method 2: Create DynamicList from the fav Only

No problem while compiling the project into apk with this extension