compose-jb/codeviewer
日付:2021/06/24
URL:https://github.com/JetBrains/compose-jb/tree/master/examples/codeviewer
調査者:Mori Atsushi
カテゴリ:Jetpack Compose, Compose for Desktop and Web, by JetBrains, KMP(Kotlin Multiplatform), Compose for Desktop
一言で表すと
AndroidとDesktop両方に対応したCode Viewer
概要]
AndroidとDesktop両方に対応したCode Viewer
:mori:, :chigi: おしゃれ
モジュール構成
android
Androidのentry point
desktop
Desktop用のentry point
common
commonMain
androidMain
jvmMain
desktopMain
android
code:MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
copyAssets()
_HomeFolder = filesDir
setContent {
MainView()
}
}
}
Desktop
code:main.kt
fun main() = Window(
title = "Code Viewer",
size = IntSize(1280, 768),
icon = loadImageResource("ic_launcher.png"),
) {
MainView()
}
common
code:Main.kt
@Composable
fun MainView() {
val codeViewer = remember {
val editors = Editors()
CodeViewer(
editors = editors,
fileTree = FileTree(HomeFolder, editors),
settings = Settings()
)
}
DisableSelection {
MaterialTheme(
colors = AppTheme.colors.material
) {
PlatformTheme {
Surface {
CodeViewerView(codeViewer)
}
}
}
}
}
Compose for Desktop は JVM をターゲット
JVMに依存するところ以外はcommonになっている
Mori Atsushi.icon 将来的な移行も考えて?
気になるポイント
コメント