Component overview - hpi-swa-teaching/MaterialDesignWidgets GitHub Wiki

Component Status Class(es)
App bars: bottom πŸ”΄
App bars: top 🟠 MDAppBar
Backdrop πŸ”΄
Banners πŸ”΄
Bottom navigation πŸ”΄
Buttons 🟑 MDContainedButton, MDOutlinedButton, MDTextButton
Buttons: floating action button 🟠 MDFloatingActionButton
Cards πŸ”΄
Chips πŸ”΄
Data tables πŸ”΄
Dialogs 🟑 MDDialog
Dividers 🟑 MDDivider
Image lists πŸ”΄
Lists 🟠 MDList, MDListItem
Menus 🟠 MDMenu, MDMenuItem
Navigation drawer πŸ”΄
Navigation rail πŸ”΄
Pickers πŸ”΄
Progress indicators πŸ”΄
Selection controls 🟠 MDCheckbox
Sheets: bottom πŸ”΄
Sheets: side πŸ”΄
Sliders πŸ”΄
Snackbars πŸ”΄
Tabs πŸ”΄
Text fields 🟑 MDTextField, MDMultiLineField, MDTextArea
Tooltips πŸ”΄
Icon Meaning
🟒 Completed
🟑 Almost done
🟠 Lots missing
πŸ”΄ Missing

App bars: bottom

Spec

App bars: top

Spec

Feature Status Comments
Prominent (expanding) πŸ”΄
Dense πŸ”΄
Prominent dense πŸ”΄
Images πŸ”΄
Navigation icon 🟑 · called addMenuControl: · wrong size
Title 🟑 Β· called addLabel:? Β· no enforced position — layout managed by MDSystemWindow
Action items and overflow menu πŸ”΄
Behavior πŸ”΄
Contextual action bar πŸ”΄
  • use TableLayout with fixed positions?

Backdrop

Spec

Banners

Spec

Bottom navigation

Spec

Buttons

Spec

Feature Status Comments
Contained button 🟒
Contained button with icon 🟒
Outlined button 🟒
Outlined button with icon 🟒
Text button 🟒
Text button with icon 🟒
Toggle buttons πŸ”΄
  • MDIconButton is also available
  • MDButton:
    • should use primary color by default
    • textDisabledAlpha wrong
    • calculateWidthByText: use hasIcon, hasIconRight
    • defaultPadding: only applies horizontally -> better name?

Buttons: floating action button

Spec

Feature Status Comments
Default 🟒
Mini πŸ”΄
Extended πŸ”΄
Extended with icon πŸ”΄
Speed dial πŸ”΄
Menu πŸ”΄

Cards

Spec

Chips

Spec

Data tables

Spec

Dialogs

Spec

Feature Status Comments
Alert Dialog 🟒 Customize buttons and content to your liking
Simple Dialog 🟑 Customize buttons and content to your liking
Confirmation Dialog 🟒 Customize buttons and content to your liking
Full-screen dialog πŸ”΄

Dividers

Spec

Feature Status Comments
Full-bleed 🟒
Inset 🟒 via padding:
Middle 🟠
Dividers with subheaders πŸ”΄
  • Why manually request size from widget i/o hResizing: #spaceFill?

Image lists

Spec

Lists

Spec

Feature Status Comments
Default 🟒
Two-line πŸ”΄
Three-line πŸ”΄
Avatar πŸ”΄
Leading icon 🟑 wrong size — actual: 18, expected: 24
Trailing icon 🟑 wrong size — actual: 18, expected: 24
Trailing text πŸ”΄
Expand & collapse πŸ”΄
Subheader πŸ”΄
Subheader inset πŸ”΄
Swipe actions πŸ”΄
Drag to reorder πŸ”΄
Scrim(?) πŸ”΄
  • MDListItem:

    • alwaysUppercase should be false
  • Divider padding missing

  • dense no longer in spec

  • cannot disable selectable

  • MDDivider:

    • Why use form i/o adding Morph?
    • Why paint backgroundColor?

Menus

Spec

Feature Status Comments
Default πŸ”΄ only dense
Dense 🟒
Item: Icon 🟒
Item: Text 🟒
Item: Keyboard command πŸ”΄
Item: Selection state πŸ”΄
Entrance animation πŸ”΄ Optional on desktop
Cascading menu 🟒
Contextual menu πŸ”΄ (At least not used)
Dropdown menu πŸ”΄
Dropdown menu: editable πŸ”΄
  • MDMenuItem: typo in class comment
  • MDMenu:
    • addLine: should be called addDivider & not working
    • activeSubmenu: calls activeSubMenu:
    • deleteAllRipples call removeRipples (on items)

Navigation drawer

Spec

Navigation rail

Spec

Pickers

Spec

Feature Status Comments
Date picker πŸ”΄
Date range picker πŸ”΄

Progress indicators

Spec

Selection controls

Spec

Feature Status Comments
Checkboxes 🟑 No indeterminate state
Radio buttons πŸ”΄
Switches πŸ”΄

Sheets: bottom

Spec

Sheets: side

Spec

Sliders

Spec

Snackbars

Spec

Tabs

Spec

Text fields

Spec

Feature Status Comments
Filled text field 🟒
Outlined text field πŸ”΄
Input type: Single line text field 🟒 MDTextField
Input type: Multi-line text field 🟒 MDMultiLineField
Input type: Text area 🟒 MDTextArea
Input type: Read-only fields πŸ”΄ state disabled isn't handled

Tooltips

Spec