GitHub - webtoon/ReadMoreTextView: Text components supporting 'Read more' UX for Android View and Jetpack Compose
@Composable
public fun ReadMoreText(
text: String,
**expanded: Boolean, 이 텍스트를 확장할지 (다 표시할지), 접을지의 여부 상태값**
modifier: Modifier = Modifier,
onExpandedChange: ((Boolean) -> Unit)? = null,
contentPadding: PaddingValues = PaddingValues(0.dp),
color: Color = Color.Unspecified,
fontSize: TextUnit = TextUnit.Unspecified,
fontStyle: FontStyle? = null,
fontWeight: FontWeight? = null,
fontFamily: FontFamily? = null,
letterSpacing: TextUnit = TextUnit.Unspecified,
textDecoration: TextDecoration? = null,
textAlign: TextAlign = TextAlign.Unspecified,
lineHeight: TextUnit = TextUnit.Unspecified,
**softWrap: Boolean = true, //부드러운 줄바꿈을 할지의 여부, width 가 잘리면 줄바꿈
// false 로 할경우 한 줄로 표시되기 때문에,
// readMaxLines 를 무조건 넘지 못하므로 더보기가 표시안된다.**
onTextLayout: (TextLayoutResult) -> Unit = {},
style: TextStyle = LocalTextStyle.current,
**readMoreText: String = "", //더 보기에 표시할 텍스트**
readMoreColor: Color = Color.Unspecified,
readMoreFontSize: TextUnit = TextUnit.Unspecified,
readMoreFontStyle: FontStyle? = null,
readMoreFontWeight: FontWeight? = null,
readMoreFontFamily: FontFamily? = null,
readMoreTextDecoration: TextDecoration? = null,
**readMoreMaxLines: Int = 2,
// 텍스트가 차지할 수 있는 최대 줄 수를 지정한다.
// 예) 3으로 설정되면 텍스트는 최대 3줄 까지만 표시된다.**
**readMoreOverflow: ReadMoreTextOverflow = ReadMoreTextOverflow.Ellipsis,**
readMoreStyle: SpanStyle = style.toSpanStyle(),
**readLessText: String = "", // 줄이기 텍스트를 표시할지의 여부**
readLessColor: Color = readMoreColor,
readLessFontSize: TextUnit = readMoreFontSize,
readLessFontStyle: FontStyle? = readMoreFontStyle,
readLessFontWeight: FontWeight? = readMoreFontWeight,
readLessFontFamily: FontFamily? = readMoreFontFamily,
readLessTextDecoration: TextDecoration? = readMoreTextDecoration,
readLessStyle: SpanStyle = readMoreStyle,
**toggleArea: ToggleArea = ToggleArea.All, //텍스트 전체를 클릭할지, 더보기만 클릭할지 여부**
)