如何通过将 Compose 导入移动到另一个文件并在另一个屏幕中导入来组织它们?

问题描述 投票:0回答:1

我正在使用 Jetpack Compose 开发一个 Android 项目,并且我的屏幕顶部有一长串导入列表。我想清理代码并使其更有条理。有没有办法将这些导入移动到另一个文件中,然后将该文件导入到我的可组合屏幕中?

这是我目前在可组合文件顶部的导入片段:

import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.Clear
import androidx.compose.material.icons.rounded.Search
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.LinearProgressIndicator
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.SideEffect
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import com.insightlearning.heykt.R
import com.insightlearning.heykt.exten.collectAsLifecycleAwareState
import com.insightlearning.heykt.exten.colorSelection
import com.insightlearning.heykt.presentation.component.chip.ChipGroup
import com.insightlearning.heykt.presentation.component.question.QuestionLazyColumn
import com.insightlearning.heykt.presentation.component.textfield.TextFieldComponent
import com.insightlearning.heykt.presentation.component.textfield.TextFieldParams
import com.insightlearning.heykt.presentation.component.toolbar.AppToolbar
import com.insightlearning.heykt.presentation.component.toolbar.AppToolbarParams
import com.insightlearning.ui.theme.White
import com.insightlearning.ui.theme.largePadding
import kotlinx.collections.immutable.toPersistentList       
import androidx.compose.animation.EnterTransition
import androidx.compose.animation.ExitTransition
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp    
android optimization android-jetpack-compose code-cleanup
1个回答
0
投票

那是不可能的。 Kotlin(和 Java)要求导入与使用它们的文件位于同一文件中。一个文件中有很多很多导入是很常见的。这完全没问题,也符合预期。

如果您有“代码分析检查,确保文件不包含超过 60 行”,您将需要对项目中的所有 Kotlin 和 Java 文件禁用该功能。

© www.soinside.com 2019 - 2024. All rights reserved.