ComposeViews
v
ใช้ได้กับการเขียนแบบหลายมิติ (jetpack), เป้าหมายที่รองรับ: Android, iOS, เว็บ (JS, WASM JS), เดสก์ท็อป (Windows, Linux, MacOS)
| Composeviews เวอร์ชัน | Jetpack Compose Version | รุ่น Multiplatform | เวอร์ชัน Kotlin |
| 1.7.1 | 1.7.0 | 2.0.0+ | |
| 1.6.11.4 | 1.6.7 | 1.6.11 | 2.0.0+ |
| 1.6.0.4 | 1.6.1 | 1.6.0 | 1.9.22 |
| 1.5.10.5 | 1.5.4 | 1.5.10 | 1.9.20 |
| 1.5.1.5 | 1.5.0 | 1.5.1 | 1.9.0 |
| 1.5.0.3 | 1.5.0 | 1.5.0 | 1.9.0 |
| 1.4.0.14 | 1.4.0 | 1.4.0 | 1.8.20 |
| 1.3.11 | 1.3.3 | 1.3.1 | 1.8.10 |
| 1.3.9.1 | 1.3.3 | 1.3.0 | 1.8.0 |
| 1.3.5 | 1.2.1 | 1.2.1 | 1.7.20 |
แอปหรือ Dir ทั่วไปของคุณ, build.gradle.kts เพิ่ม:
เวอร์ชัน =
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