开源软件名称(OpenSource Name):rubensousa/BottomSheetBuilder开源软件地址(OpenSource Url):https://github.com/rubensousa/BottomSheetBuilder开源编程语言(OpenSource Language):Java 100.0%开源软件介绍(OpenSource Introduction):BottomSheetBuilderA simple library that creates BottomSheets according to the Material Design specs: https://material.google.com/components/bottom-sheets.html Available from API 14. ScreenshotsHow to use
dependencies {
implementation 'com.github.rubensousa:bottomsheetbuilder:1.6.1'
implementation 'com.android.support:design:27.1.1'
}
View bottomSheet = new BottomSheetBuilder(context, coordinatorLayout)
.setMode(BottomSheetBuilder.MODE_GRID)
.setBackgroundColor(android.R.color.white)
.setMenu(R.menu.menu_bottom_grid_sheet)
.setItemClickListener(this)
.createView();
BottomSheetMenuDialog dialog = new BottomSheetBuilder(context, R.style.AppTheme_BottomSheetDialog)
.setMode(BottomSheetBuilder.MODE_LIST)
.setMenu(R.menu.menu_bottom_simple_sheet)
.setItemClickListener(new BottomSheetItemClickListener() {
@Override
public void onBottomSheetItemClick(MenuItem item) {
}
})
.createDialog();
dialog.show();
BottomSheetMenuDialog dialog = new BottomSheetBuilder(context, R.style.AppTheme_BottomSheetDialog)
.setAppBarLayout(appbar)
...
BottomSheetMenuDialog dialog = new BottomSheetBuilder(context, R.style.AppTheme_BottomSheetDialog)
.expandOnStart(true)
...
BottomSheetMenuDialog dialog = new BottomSheetBuilder(context, R.style.AppTheme_BottomSheetDialog)
.setIconTintColorResource(R.color.colorPrimary)
... StylingMake sure the style passed in the BottomSheetBuilder's constructor extends from the Theme.Design.BottomSheetDialog family: <style name="AppTheme.BottomSheetDialog" parent="Theme.Design.Light.BottomSheetDialog">
<item name="bottomSheetStyle">@style/AppTheme.BottomSheetStyle</item>
</style>
<style name="AppTheme.BottomSheetStyle" parent="Widget.Design.BottomSheet.Modal">
<item name="behavior_hideable">true</item>
<item name="behavior_skipCollapsed">true</item>
</style> You can also style the background and text colors as of 1.5: <style name="AppTheme.BottomSheetDialog.Custom" parent="AppTheme.BottomSheetDialog">
<item name="bottomSheetBuilderItemTextColor">@color/colorPrimaryDark</item>
<item name="bottomSheetBuilderBackgroundColor">@android:color/white</item>
<item name="bottomSheetBuilderTitleTextColor">@color/colorAccent</item>
</style> SampleThe sample includes 4 view modes: grid, list, long list and list with one submenu. It also has a save/restore state example. Customization methodssetItemTextColor(@ColorInt int color)
setTitleTextColor(@ColorInt int color)
setItemTextColorResource(@ColorRes int color)
setTitleTextColorResource(@ColorRes int color)
setIconTintColorResource(@ColorRes int color)
setIconTintColor(int color)
setBackground(@DrawableRes int background)
setBackgroundColorResource(@ColorRes int background)
setBackgroundColor(@ColorInt int background)
setDividerBackground(@DrawableRes int background)
setItemBackground(@DrawableRes int background)
setAppBarLayout(AppBarLayout appbar) -> To avoid overlapping
expandOnStart(boolean expand) -> Defaults to false Third Party BindingsReact NativeYou may now use this library with React Native via the module here License
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论