De library is ontstaan om het simpeler te maken om een Material BottomSheet toe te voegen aan een app. Er zijn er al meerdere maar ik wilde graag mijn eigen variant van een ModalBottomSheetDialog introduceren. Deze versie is te gebruiken vanaf Android 4.1 (API 16).
Hieronder volgt een verkorte versie van de documentatie voor de library. Bekijk de GitHub repository voor up to date versie en meer mogelijkheden zoals verschillende layouts en afgeronde hoeken.

Repository
Voeg onderstaande toe aan je build.gradle (niet de module):
allprojects { repositories { ... maven { url "https://jitpack.io" } }}
Code language: JSON / JSON with Comments (json)
Dependency
Voeg onderstaande toe aan je module build.gradle (controleer de laatste versie op de GitHub repository):
Code language: JSON / JSON with Comments (json)dependencies { ... implementation 'com.github.invissvenska:ModalBottomSheetDialog:VERSION'}
Configuratie
Implement de ModalBottomSheetDialog.Listener interface in je Activity of Fragment:
public class MainActivity extends AppCompatActivity implements ModalBottomSheetDialog.Listener { // some other code @Override public void onItemSelected(String tag, Item item) { Toast.makeText(getApplicationContext(), "Tag: " + tag + ", clicked on: " + item.getTitle(), Toast.LENGTH_SHORT).show(); }}
Code language: Java (java)
new ModalBottomSheetDialog.Builder() .setHeader(String title) // optional .setHeaderLayout(@LayoutRes int layoutResource) // optional (TextView must have id 'header' in layout) .add(@MenuRes int menuResource) // can be used more then once .setItemLayout(@LayoutRes int layoutResource) // optional (TextView with id 'title' or ImageView with id 'icon' must be defined in layout) .setColumns(int columns) // optional (default is 1) .setRoundedModal(boolean roundedModal) // optional (default is false) .show(FragmentManager fragmentManager, String tag);
Code language: Java (java)
Dark Mode
Als je Dark mode wilt gebruiken, dan hoef je alleen een DayNight theme te gebruiken als parent in je styles.xml, bijvoorbeeld:
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <!-- other style declarations --></resources>
Code language: HTML, XML (xml)

Bekijk de GitHub repository voor meer voorbeelden, de actuele documentatie en meest recente versies.