Skip to content

Commit

Permalink
Merge pull request #87 from ltttttttttttt/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
ltttttttttttt authored Mar 12, 2024
2 parents 943b615 + 5e61b78 commit 9d80c05
Show file tree
Hide file tree
Showing 46 changed files with 149 additions and 499 deletions.
40 changes: 24 additions & 16 deletions ComposeViews/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ plugins {
group = "io.github.ltttttttttttt"
//上传到mavenCentral命令: ./gradlew publishAllPublicationsToSonatypeRepository
//mavenCentral后台: https://s01.oss.sonatype.org/#stagingRepositories
version = "$composeVersion.beta1"
version = "$composeVersion.2"

kotlin {
androidTarget {
Expand All @@ -35,28 +35,25 @@ kotlin {

jvm("desktop") {
compilations.all {
defaultSourceSet.resources.srcDir("resources")
kotlinOptions {
jvmTarget = "11"
}
}
}

ios {
compilations.all {
defaultSourceSet.resources.srcDir("resources")
}
}
iosSimulatorArm64 {
compilations.all {
defaultSourceSet.resources.srcDir("resources")
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
//kotlin引入静态库参考: https://kotlinlang.org/docs/multiplatform-dsl-reference.html#cinterops
iosTarget.compilations.all {
}
}

js(IR) {
browser()
compilations.all {
defaultSourceSet.resources.srcDir("resources")
}
}

Expand All @@ -82,6 +79,7 @@ kotlin {
api(compose.material)
api(compose.animation)
api(compose.ui)
implementation(compose.components.resources)
api("io.github.ltttttttttttt:DataStructure:1.0.14")
}
}
Expand Down Expand Up @@ -115,22 +113,33 @@ kotlin {
}
val desktopTest by getting

val iosMain by getting {
val iosMain by creating {
dependencies {
api("org.jetbrains.compose.components:components-resources:$composeVersion")
dependsOn(commonMain)
}
}
val iosTest by getting
val iosTest by creating
val iosSimulatorArm64Main by getting {
dependsOn(iosMain)
}
val iosSimulatorArm64Test by getting {
dependsOn(iosTest)
}
val iosArm64Main by getting {
dependsOn(iosMain)
}
val iosArm64Test by getting {
dependsOn(iosTest)
}
val iosX64Main by getting {
dependsOn(iosMain)
}
val iosX64Test by getting {
dependsOn(iosTest)
}

val jsMain by getting {
dependencies {
api("org.jetbrains.compose.components:components-resources:$composeVersion")
}
}
}
Expand All @@ -142,7 +151,6 @@ android {
minSdk = 21
targetSdk = 31
sourceSets["main"].manifest.srcFile("src/main/AndroidManifest.xml")
sourceSets["main"].res.srcDir("resources")

consumerProguardFiles("consumer-rules.pro")
}
Expand Down
18 changes: 0 additions & 18 deletions ComposeViews/resources/values-zh/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions ComposeViews/resources/values/strings.xml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,12 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.lt.compose_views.other.HorizontalSpace
import com.lt.compose_views.refresh_layout.RefreshLayoutState
import com.lt.compose_views.res.Res
import com.lt.compose_views.res.Strings
import com.lt.compose_views.util.Color333
import io.github.ltttttttttttt.composeviews.generated.resources.Res
import io.github.ltttttttttttt.composeviews.generated.resources.compose_views_refresh_layout_loading
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.painterResource

/**
* creator: lt 2022/9/18 lt.dygzs@qq.com
Expand All @@ -48,6 +52,7 @@ import com.lt.compose_views.util.Color333
* @param isLoadFinish 是否加载完毕(后面加载不出数据了)
* Is it loaded
*/
@OptIn(ExperimentalResourceApi::class)
@Composable
fun RefreshLayoutState.LoadMoreRefreshContent(
isLoadFinish: Boolean = false
Expand Down Expand Up @@ -75,7 +80,7 @@ fun RefreshLayoutState.LoadMoreRefreshContent(
) {
if (!isLoadFinish) {
Image(
painter = Res.getRefreshLayoutLoadingPainter(),
painter = painterResource(Res.drawable.compose_views_refresh_layout_loading),
contentDescription = "",
modifier = Modifier
.size(20.dp)
Expand All @@ -85,9 +90,9 @@ fun RefreshLayoutState.LoadMoreRefreshContent(
}
Text(
text = if (isLoadFinish)
Res.getNoMoreDataString()
Strings.getNoMoreDataString()
else
Res.getLoadingString(),
Strings.getLoadingString(),
fontSize = 14.sp,
color = Color333,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,13 @@ import androidx.compose.ui.unit.sp
import com.lt.compose_views.other.HorizontalSpace
import com.lt.compose_views.refresh_layout.RefreshContentStateEnum
import com.lt.compose_views.refresh_layout.RefreshLayoutState
import com.lt.compose_views.res.Res
import com.lt.compose_views.res.Strings
import com.lt.compose_views.util.Color333
import io.github.ltttttttttttt.composeviews.generated.resources.Res
import io.github.ltttttttttttt.composeviews.generated.resources.compose_views_refresh_layout_arrow
import io.github.ltttttttttttt.composeviews.generated.resources.compose_views_refresh_layout_loading
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.painterResource
import kotlin.math.abs

/**
Expand All @@ -51,6 +56,7 @@ import kotlin.math.abs
* Refresh component for pull down refresh
* warning:
*/
@OptIn(ExperimentalResourceApi::class)
@Composable
fun RefreshLayoutState.PullToRefreshContent() {
val refreshContentState by remember {
Expand Down Expand Up @@ -79,7 +85,7 @@ fun RefreshLayoutState.PullToRefreshContent() {
)
)
Image(
painter = Res.getRefreshLayoutLoadingPainter(),
painter = painterResource(Res.drawable.compose_views_refresh_layout_loading),
contentDescription = "",
modifier = Modifier
.size(20.dp)
Expand All @@ -94,7 +100,7 @@ fun RefreshLayoutState.PullToRefreshContent() {
abs(getRefreshContentOffset()) < getRefreshContentThreshold()
val rotate by animateFloatAsState(targetValue = if (isCannotRefresh) 0f else 180f)
Image(
painter = Res.getRefreshLayoutArrowPainter(),
painter = painterResource(Res.drawable.compose_views_refresh_layout_arrow),
contentDescription = "",
modifier = Modifier
.size(20.dp)
Expand All @@ -105,13 +111,13 @@ fun RefreshLayoutState.PullToRefreshContent() {
}
Text(
text = when (refreshContentState) {
RefreshContentStateEnum.Stop -> Res.getRefreshCompleteString()
RefreshContentStateEnum.Refreshing -> Res.getRefreshingString()
RefreshContentStateEnum.Stop -> Strings.getRefreshCompleteString()
RefreshContentStateEnum.Refreshing -> Strings.getRefreshingString()
RefreshContentStateEnum.Dragging -> {
if (abs(getRefreshContentOffset()) < getRefreshContentThreshold()) {
Res.getDropDownToRefreshString()
Strings.getDropDownToRefreshString()
} else {
Res.getReleaseRefreshNowString()
Strings.getReleaseRefreshNowString()
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.text.intl.Locale
import kotlin.jvm.JvmName

Expand All @@ -31,7 +30,10 @@ import kotlin.jvm.JvmName
* effect : 资源
* warning:
*/
object Res {
@Deprecated("Use Strings.kt")
typealias Res = Strings

object Strings {

/**
* 手动设置当前的语言
Expand All @@ -45,34 +47,11 @@ object Res {
private var Res_language: String? by mutableStateOf(null)

//获取当前是什么语言
private fun Res.getLanguage(): String {
private fun getLanguage(): String {
Res_language?.let { return it }
return Locale.current.language
}

@Composable
internal fun getRefreshLayoutLoadingPainter(): Painter =
resourcePainter("compose_views_refresh_layout_loading")

@Composable
internal fun getRefreshLayoutArrowPainter(): Painter =
resourcePainter("compose_views_refresh_layout_arrow")

@Composable
internal fun getPasswordShowPainter(): Painter =
resourcePainter("compose_views_password_show")

@Composable
internal fun getPasswordHidePainter(): Painter =
resourcePainter("compose_views_password_hide")

@Composable
internal fun getStarSelectPainter(): Painter =
resourcePainter("star_bar_star_select")

@Composable
internal fun getStarPainter(): Painter = resourcePainter("star_bar_star")

@Composable
internal fun getNoMoreDataString(): String {
return when (getLanguage()) {
Expand Down Expand Up @@ -120,8 +99,4 @@ object Res {
else -> "Release refresh"
}
}
}

//通过资源名获取[Painter]
@Composable
internal expect fun resourcePainter(name: String): Painter
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.lt.compose_views.res.Res
import io.github.ltttttttttttt.composeviews.generated.resources.Res
import io.github.ltttttttttttt.composeviews.generated.resources.compose_views_password_hide
import io.github.ltttttttttttt.composeviews.generated.resources.compose_views_password_show
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.painterResource

/**
* creator: lt 2022/7/16 lt.dygzs@qq.com
Expand All @@ -44,14 +48,18 @@ interface PasswordTrailingWithTextField {
* 默认的眼睛图标,点击后可以切换密码是否可见
* default eye icon
*/
@OptIn(ExperimentalResourceApi::class)
val DEFAULT = object : PasswordTrailingWithTextField {
@Composable
override fun RowScope.Trailing(
passwordIsShow: Boolean,
onPasswordIsShowChange: (Boolean) -> Unit
) {
Image(
painter = if (passwordIsShow) Res.getPasswordShowPainter() else Res.getPasswordHidePainter(),
painter = if (passwordIsShow)
painterResource(Res.drawable.compose_views_password_show)
else
painterResource(Res.drawable.compose_views_password_hide),
contentDescription = "",
modifier = Modifier
.size(22.dp)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import com.lt.compose_views.res.Res
import com.lt.compose_views.util.applyIf
import io.github.ltttttttttttt.composeviews.generated.resources.Res
import io.github.ltttttttttttt.composeviews.generated.resources.star_bar_star
import io.github.ltttttttttttt.composeviews.generated.resources.star_bar_star_select
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.painterResource
import kotlin.math.roundToInt

/**
Expand Down Expand Up @@ -65,14 +69,15 @@ import kotlin.math.roundToInt
* @param onTouchUpEvent 手指抬起事件
* Callback of touch up event
*/
@OptIn(ExperimentalResourceApi::class)
@Composable
fun StarBar(
starValue: Int,
onStarValueChange: (Int) -> Unit,
modifier: Modifier = Modifier,
maxStar: Int = 5,
starPainter: Painter = Res.getStarPainter(),
starSelectPainter: Painter = Res.getStarSelectPainter(),
starPainter: Painter = painterResource(Res.drawable.star_bar_star),
starSelectPainter: Painter = painterResource(Res.drawable.star_bar_star_select),
starSize: Dp = 16.dp,
margin: Dp = 3.dp,
orientation: Orientation = Orientation.Horizontal,
Expand Down
Loading

0 comments on commit 9d80c05

Please sign in to comment.