我有一个在 aBottomNavBar中被调用bottomBar的 a Scaffold。
每个屏幕都包含一个LazyColumn显示一堆图像的。
出于某种原因,当我完成滚动时,BottomNavBar项目列表的下部重叠。
我怎样才能解决这个问题?
这里是MainActivity的设置内容
SetContent{
Scaffold(
topBar = {
TopAppBar(
title = { Text(text = "tartufozon") },
actions = {
IconButton(onClick = { Timber.d("Mail clicked") }) {
Icon(Icons.Default.Email, contentDescription = null)
}
}
)
},
bottomBar = {
BottomNavBar(navController = navController)
}
) {
BottomNavScreensController(navController = navController)
}
}
Run Code Online (Sandbox Code Playgroud) 我希望文本的大小不会.dp根据系统字体而改变。如何在 Jetpack Compose“文本”可组合项中实现此目的
我想删除TextAndroid Jetpack Compose 中的 a。我已经检查了一些文档,但我仍然没有找到符合我想要实现的目标的东西。
https://developer.android.com/jetpack/compose/text
这是我的文本组件:
Text("$863",fontSize = 24.sp, modifier = Modifier.width(IntrinsicSize.Min), maxLines = 1)
Run Code Online (Sandbox Code Playgroud)
这就是我想要实现的目标:
任何人都可以帮助我或给我任何想法吗?
我试图实现以下布局
我尝试使用Row(Modifier.weight(50f))编译器开始抛出的错误
如果进口自ColumnInstance-import androidx.compose.foundation.layout.ColumnScopeInstance.weight
Cannot access 'ColumnScopeInstance': it is internal in 'androidx.compose.foundation.layout'
如果进口自RowInstance-androidx.compose.foundation.layout.RowScopeInstance.weight
Cannot access 'RowScopeInstance': it is internal in 'androidx.compose.foundation.layout'
下面附上我的可组合代码
@Composable
fun BoxLayout(){
Row(Modifier.weight(50f)) {
BoxWithText()
BoxWithText()
}
}
Run Code Online (Sandbox Code Playgroud)
附上整个文件以供参考
package me.sanjaykapilesh.layoutmastery
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.RowScopeInstance.weight
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import me.sanjaykapilesh.layoutmastery.ui.theme.LayoutMasteryTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) { …Run Code Online (Sandbox Code Playgroud) android android-layout android-studio android-jetpack-compose
kapt当我尝试使用to迁移 Android 项目时收到错误消息KSP。
错误信息
Unable to find method ''void org.jetbrains.kotlin.gradle.tasks.KotlinCompile.<init>(org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions)''
'void org.jetbrains.kotlin.gradle.tasks.KotlinCompile.<init>(org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions)'
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)
The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)
Your project may be using a third-party plugin which is not compatible with the other plugins in the project …Run Code Online (Sandbox Code Playgroud) 目前在 Jetpack Compose 中,此代码会抛出一个异常IllegalStateException,因为您无法嵌套两个垂直滚动的可组合项:
@ExperimentalFoundationApi
@Composable
fun MyLazyColumn() {
LazyColumn {
item {
Text(text = "My LazyColumn Title")
}
item {
LazyVerticalGrid(cells = GridCells.Fixed(4)) {
items(10) {
Box(
modifier = Modifier
.size(50.dp)
.padding(5.dp)
.background(Color.Gray)
)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不希望网格本身滚动,而只是显示我传递给它的可组合项的固定网格。是否有任何解决方法可以在 中显示非滚动网格LazyColumn?
我想TopAppBar向我的 Compose 应用程序添加一个,所以我执行了以下操作:
@OptIn(ExperimentalMaterial3Api::class)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AlternoTubeTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Scaffold(
topBar = {
TopAppBar(
title = {
Text(
stringResource(id = R.string.app_name),
maxLines = 1,
overflow = TextOverflow.Ellipsis
)
},
)
},
content = { innerPadding ->
MyAppTheme(modifier = Modifier.padding(innerPadding))
}
)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我运行应用程序时,我的TopAppBar:
而在预览图像上,应用栏确实有颜色:
接下来我可以尝试什么来获得正确的颜色?
android kotlin android-jetpack-compose android-jetpack-compose-material3
我需要知道TextView和TextViewCompat之间的实际区别.什么时候应该使用TextViewCompat?
错误:
java.lang.IllegalArgumentException:配置失败:包 targetSdkVersion=30 > maxSdkVersion=29
在 org.robolectric.RobolectricTestRunner.getChildren(RobolectricTestRunner.java:247) 在 org.junit.runners.ParentRunner.getFilteredChildren(ParentRunner.java:534) 在 org.junit.runners.ParentRunner.getDescription(ParentRunner.java:400) 在androidx.test.ext.junit.runners.AndroidJUnit4.getDescription(AndroidJUnit4.java:149) 在 org.junit.runners.model.RunnerBuilder.configureRunner(RunnerBuilder.java:81) 在 org.junit.runners.model.RunnerBuilder。 safeRunnerForClass(RunnerBuilder.java:72) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) at org.junit .internal.requests.ClassRequest.createRunner(ClassRequest.java:28) 在 org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19) 在 com。intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50) 在 com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) 在 com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStart(JUnitStart) java:220) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) 由:java.lang.IllegalArgumentException: Package targetSdkVersion=30 > maxSdkVersion=29 at org.robolectric.plugins.DefaultSdkPicker.configuredSdks (DefaultSdkPicker.java:118) 在 org.robolectric.plugins.DefaultSdkPicker.selectSdks(DefaultSdkPicker.java:69) 在 org.robolectric.RobolectricTestRunner.getChildren(RobolectricTestRunner.java:213) ... 13 更多java:33) 在 com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220) 在 com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) 引起:java.lang.IllegalArgumentException :在 org.robolectric.plugins.DefaultSdkPicker.configuredSdks(DefaultSdkPicker.java:118) 在 org.robolectric.plugins.DefaultSdkPicker.selectSdks(DefaultSdkPicker.java:69) 在 org.robolectric.plugins.selectSdks(DefaultSdkPicker.java:69) 在 org.robolectric. getChildren(RobolectricTestRunner.java:213) ... 13 更多java:33) 在 com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220) 在 com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) 引起:java.lang.IllegalArgumentException :在 org.robolectric.plugins.DefaultSdkPicker.configuredSdks(DefaultSdkPicker.java:118) 在 org.robolectric.plugins.DefaultSdkPicker.selectSdks(DefaultSdkPicker.java:69) 在 org.robolectric.plugins.selectSdks(DefaultSdkPicker.java:69) 在 org.robolectric. …
将视图系统中的应用程序迁移到 Jetpack compose。
底部稀松布颜色显示在当前应用程序的状态栏上。
如何在 Jetpack compose 中重现相同的内容?
使用视图的应用程序的屏幕截图
使用撰写的应用程序的屏幕截图
编写代码
val modalBottomSheetState = rememberModalBottomSheetState(
initialValue = ModalBottomSheetValue.Hidden,
)
val coroutineScope = rememberCoroutineScope()
ModalBottomSheetLayout(
sheetState = modalBottomSheetState,
sheetContent = {
// Not relevant
},
) {
Scaffold(
scaffoldState = scaffoldState,
topBar = {
// Not relevant
},
floatingActionButton = {
FloatingActionButton(
onClick = {
coroutineScope.launch {
if (!modalBottomSheetState.isAnimationRunning) {
if (modalBottomSheetState.isVisible) {
modalBottomSheetState.hide()
} else {
modalBottomSheetState.show()
}
}
}
},
) {
Icon(
imageVector = Icons.Rounded.Add,
contentDescription …Run Code Online (Sandbox Code Playgroud) android ×10
composable ×2
kotlin ×2
android-jetpack-compose-material3 ×1
bottom-sheet ×1
kapt ×1
lazycolumn ×1
robolectric ×1