Applicable to Compose-multiplatform(Jetpack), Supported targets: Android, iOS, Web(js, Wasm js), Desktop(Windows, Linux, macOS)
- ComposePager
- Banner
- PagerIndicator
- ImageBanner
- RefreshLayout + PullToRefresh + VerticalRefreshableLayout
- FlowLayout
- ValueSelector + DateSelector
- MenuFloatingActionButton
- ChainScrollableComponent + ScrollableAppBar + SwipeToDismiss
Your app or common dir, build.gradle.kts add:
dependencies { ... implementation("io.github.ltttttttttttt:ComposeViews:$version")//this, such as 1.6.11.2 }/** * Pager (Equivalent to the ViewPager in android) * @param pageCount Sum page count * @param modifier * @param composePagerState ComposePager's state * @param orientation Scroll orientation * @param userEnable Whether the user can scroll * @param pageCache The number of pagers cached on the left and right sides * @param scrollableInteractionSource Scroll state monitor * @param pagerKey Using key to improve performance, reduce recombination, and achieve the same effect as [LazyColumn#items#key] * @param clip Whether to crop the content area * @param contentTransformation Transform the Content of ComposePager * @param content Content of compose */ @Composable fun ComposePager()/** * [ComposePager] that can auto scroll * @param pageCount Sum page count * @param modifier * @param bannerState Banner's state * @param orientation Scroll orientation * @param userEnable Whether the user can scroll * @param autoScroll Whether to scroll automatically * @param autoScrollTime Auto scroll interval * @param bannerKey Using key to improve performance, reduce recombination, and achieve the same effect as [LazyColumn#items#key] * @param clip Whether to crop the content area * @param contentTransformation Transform the Content of ComposePager * @param content Content of compose */ @Composable fun Banner()/** * Indicator for pager * @param size Number of indicator * @param offsetPercentWithSelectFlow The offset percentage of the selected indicator * @param selectIndexFlow The index of selected indicator * @param indicatorItem The indicator * @param selectIndicatorItem The selected indicator * @param modifier * @param margin Spacing between indicators * @param orientation Orientation of indicators * @param userCanScroll Whether the user can scroll */ @Composable fun PagerIndicator() /** * Text indicator for pager * @param texts The text list * @param offsetPercentWithSelectFlow The offset percentage of the selected indicator * @param selectIndexFlow The index of selected indicator * @param fontSize Font size of the text indicator * @param selectFontSize Font size of the selected text indicator * @param textColor Font color of the text indicator * @param selectTextColor Font color of the selected text indicator * @param selectIndicatorColor Color of the indicator * @param onIndicatorClick Click event of the text indicator * @param modifier * @param margin Spacing between the text indicators * @param userCanScroll Whether the user can scroll */ @Composable fun TextPagerIndicator()/** * [Banner] showing images * @param imageSize Number of images * @param imageContent Content of the images * @param indicatorItem The indicator, if null, do not display indicator * @param selectIndicatorItem The indicator, if null, do not display indicator * @param modifier * @param bannerState Banner's state * @param orientation Orientation of indicators * @param autoScroll Whether to scroll automatically * @param autoScrollTime Auto scroll interval * @param bannerKey Using key to improve performance, reduce recombination, and achieve the same effect as [LazyColumn#items#key] * @param clip Whether to crop the content area * @param contentTransformation Transform the Content of ComposePager */ @Composable fun ImageBanner()/** * The refreshed container can be dragged in any direction * @param refreshContent Refreshed content area * @param refreshLayoutState State of the [RefreshLayout] * @param modifier * @param refreshContentThreshold Refresh threshold for layout dragging * @param composePosition Set where the refreshed layout is located * @param contentIsMove Whether the content component moves with it on refresh * @param dragEfficiency The 'efficiency' of dragging * @param isSupportCanNotScrollCompose Whether to support non-scrollable components * @param userEnable Whether the user can drag * @param refreshingCanScroll Can I scroll during refresh * @param content Content of compose */ @Composable fun RefreshLayout() /** * Pull down to refresh * @param refreshLayoutState State of the [RefreshLayout] * @param modifier * @param refreshContent Refreshed content area * @param content Content of compose */ @Composable fun PullToRefresh() /** * Pull down and up refresh components * @param topRefreshLayoutState State of the top of the [RefreshLayout] * @param bottomRefreshLayoutState State of the bottom of the [RefreshLayout] * @param modifier * @param topRefreshContent Refreshed content area of top * @param bottomIsLoadFinish Bottom is it loaded * @param bottomRefreshContent Refreshed content area of bottom * @param content Content of compose */ @Composable fun VerticalRefreshableLayout()/** * Linear layout with word wrapping * @param modifier * @param orientation Direction of arrangement * @param horizontalAlignment Alignment of horizontal * @param verticalAlignment Alignment of vertical * @param horizontalMargin Margin of horizontal * @param verticalMargin Margin of vertical * @param maxLines How many lines can be placed * @param content Content of compose */ @Composable fun FlowLayout() /** * [FlowLayout] that can automatically determine the selected state */ @Composable fun LabelsFlowLayout()/** * Date Selector * @param state DateSelector's state * @param modifier * @param isLoop Whether the value list is loop */ @Composable fun DateSelector() /** * Value selector */ @Composable fun ValueSelector()/** * Floating action button * @param icon Menu icon * @param label Menu text * @param srcIconColor Icon color * @param labelTextColor Label text color * @param labelBackgroundColor Background color of label text * @param fabBackgroundColor Background color of floating action button */ @Composable fun MenuFloatingActionButton()/** * Chain scrollable component * @param minScrollPosition Minimum scroll position * @param maxScrollPosition Maximum scroll position * @param chainContent Content of chain * @param modifier * @param onScrollStop Callback of scroll stop event * @param composePosition Set the position of the top bar layout * @param chainMode Chain mode * @param content Content of compose */ @Composable fun ChainScrollableComponent() /** * Scalable top navigation bar * @param title Title of top bar * @param background Background of top bar * @param modifier * @param onScrollStop Callback of scroll stop event * @param minScrollPosition Minimum scroll position * @param maxScrollPosition Maximum scroll position * @param navigationIcon Icon of top bar * @param composePosition Set the position of the top bar layout * @param chainMode Chain mode * @param content Content of compose */ @Composable fun ScrollableAppBar() /** * Swipe to delete controls * @param minScrollPosition Minimum scroll position * @param maxScrollPosition Maximum scroll position * @param backgroundContent Content of background * @param modifier * @param contentIsMove Does content follow * @param content Content of compose */ @Composable fun SwipeToDismiss()/** * Image viewer */ @Composable fun ImageViewer() /** * Zoom layout */ @Composable fun ZoomLayout() /** * Button without click effect */ @Composable fun ButtonWithNotRipple() /** * Star bar */ @Composable fun StarBar() /** * Progress bar */ @Composable fun BasicsProgressBar() /** * More convenient and easy to use the [TextField] */ @Composable fun GoodTextField() /** * More convenient and easy to use the [TextField], for entering passwords * Api is almost the same as the [GoodTextField] */ @Composable fun PasswordTextField() /** * Offset by a percentage of its own width or height */ fun Modifier.offsetPercent() /** * ComposePager-based navigation * Navigation relative to jetpack: * 1.Easier to use and more single function * 2.All state of each page can be saved * 3.no animation */ @Composable fun PagerNav()//Set multiple languages, get the system language by default Strings.setLanguage("en")Kotlin Communication Group(QQ): 101786950












