ComposeTimeLineView
android Sticky-TimeLineView that made with jetpack-compose
Install / Use
/learn @jisungbin/ComposeTimeLineViewREADME
ComposeTimeLineView
android Sticky-TimeLineView that made with jetpack-compose.
Download 
implementation "io.github.jisungbin:timelineview:${version}"
Preview
<img src="https://user-images.githubusercontent.com/40740128/127657575-2a0388e5-ad02-4274-a9d8-be51a52979eb.png" width="33%" />Usage
1. Create item model class
data class Item(override val key: Int) : TimeLineItem<Int>
model class must be extends TimeLineView<K> !
TimeLineView<K>
K value will be TimeLineView-Header item.
2. Use TimeLineView
@Composable
fun <K, E : TimeLineItem<K>> TimeLine(
items: List<E>,
modifier: Modifier = Modifier,
timeLineOption: TimeLineOption = TimeLineOption(),
timeLinePadding: TimeLinePadding = TimeLinePadding(),
header: @Composable (K) -> Unit,
content: @Composable (E) -> Unit
)
TimeLineOption
fun TimeLineOption(
@DrawableRes circleIcon: Int = R.drawable.ic_outline_circle_24,
circleSize: Dp = Dp.Unspecified,
circleColor: Color = Color.Gray,
lineColor: Color = Color(0xFF6200EE),
lineWidth: Dp = 2.dp,
contentHeight: Dp = 100.dp
): TimeLineOption
TimeLinePadding
fun TimeLinePadding(
defaultPadding: PaddingValues = PaddingValues(16.dp),
contentStart: Dp = 4.dp,
circleLineGap: Dp = 1.dp
): TimeLinePadding
License
TimeLineView license is under the MIT License.
Please see license file.
🤗 Happy Coding :)
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
