标签: composable

如何控制 Jetpack Compose 中的 DropDownMenu 位置

我有一行在开头对齐文本,在结尾对齐图像。当我按下图像时,我会显示一个下拉菜单,但它出现在行的开头,我希望它出现在行的末尾。

我尝试在 Modifier 组件中使用 Alignment.centerEnd 但不起作用。

我怎样才能让弹出窗口出现在行的末尾?

@Composable
fun DropdownDemo(currentItem: CartListItems) {
    var expanded by remember { mutableStateOf(false) }
    Box(modifier = Modifier
        .fillMaxWidth()) {
        Text(modifier = Modifier.align(Alignment.TopStart),
            text = currentItem.type,
            color = colorResource(id = R.color.app_grey_dark),
            fontSize = 12.sp)
        Image(painter = painterResource(R.drawable.three_dots),
            contentDescription = "more options button",
            Modifier
                .padding(top = 5.dp, bottom = 5.dp, start = 5.dp)
                .align(Alignment.CenterEnd)
                .width(24.dp)
                .height(6.75.dp)
                .clickable(indication = null,
                    interactionSource = remember { MutableInteractionSource() },
                    onClick = {
                        expanded = true
                    }))
        DropdownMenu(
            expanded = expanded,
            onDismissRequest …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose composable

26
推荐指数
1
解决办法
2万
查看次数

如何单独/单独对齐行内的子可组合项?

我是jetpack compose的新手,我正在尝试做一件我无法实现的简单事情。

\n

我想要做的是在同一行中对齐一个组件(在本例中是一个表面),位于行的开头,另一个组件(列)位于行的末尾。

\n

怎么才能得到这个呢?

\n

我正在尝试这个,但它不起作用:

\n
Row(Modifier.padding(top = 24.dp)\n        .fillMaxWidth()) {\n        Surface(\n            modifier = Modifier.size(70.dp),\n            shape = RectangleShape,\n            color = MaterialTheme.colors.onSurface.copy(alpha = 0.2f)\n        ) {\n            // Image goes here\n        }\n\n        Column(modifier = Modifier.size(70.dp)) {\n            Text("Total",\n                fontSize = 12.sp,\n                color = AppGreyDark,\n                modifier = Modifier.padding(end = 16.dp))\n\n            Text("12,99 \xe2\x82\xac",\n                fontSize = 18.sp,\n                color = AppBlackDark,\n                modifier = Modifier.padding(top = 4.dp))\n        }\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

android android-jetpack-compose composable android-compose-layout

20
推荐指数
1
解决办法
8479
查看次数

为什么 Jetpack Compose-beta08 中可组合的 Text("") 的 fontSize 中只有“.sp”而没有“.dp”

我希望文本的大小不会.dp根据系统字体而改变。如何在 Jetpack Compose“文本”可组合项中实现此目的

android android-jetpack android-jetpack-compose composable

19
推荐指数
1
解决办法
7825
查看次数

修复了 Jetpack Compose 中 LazyColumn 内的网格?

目前在 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

android android-jetpack-compose composable lazycolumn

17
推荐指数
2
解决办法
1万
查看次数

Jetpack Compose - 如何向可组合项添加多个修饰符以及顺序重要吗?

我想知道如何添加多个修饰符,例如向 Android jetpack 可组合项添加背景、填充等?

android-jetpack composable

13
推荐指数
1
解决办法
5807
查看次数

减小jetpack compose中图标的大小以匹配行高

我有以下可组合项。

@Composable
fun Temp() {
    Row(
        modifier = Modifier
            .background(Color.Red)
            .height(IntrinsicSize.Min)
            .fillMaxWidth()
    ) {
        Text(text = "Hello", fontSize = 10.sp)
        Icon(
            imageVector = Icons.Default.Star,
            contentDescription = "Star",
            modifier = Modifier.fillMaxHeight()
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

图标的高度从 24.dp 开始并没有减少。有什么办法可以实现这种行为。我希望图标大小只是父行的高度。如果文字很大。图标尺寸增大。我认为图标最小尺寸必须为 24.dp。如何让图标变小?

icons android modifier android-jetpack-compose composable

11
推荐指数
1
解决办法
2688
查看次数

如何在 Jetpack 的 Compose 中管理 Focus 状态

我有一个自定义的可组合视图(本质上是表面 + 文本),我想根据焦点状态更改表面的颜色。FocusManager#FocusNode 被标记为内部,我不知道有什么方法可以实现这一点。这只是还不可用吗?还有其他人需要解决这个问题吗?

android focusmanager android-jetpack android-jetpack-compose composable

9
推荐指数
3
解决办法
4243
查看次数

使用来自 url 的线圈图像撰写预览

在我的 Android 应用程序中,我使用 Jetpack Compose 作为 UI。

在屏幕中,我使用从 URL 下载的 Lottie 文件来渲染图像。Lottie 图像文件的渲染如下:

@Composable
private fun Image(assetUrl: String) {
    val composition by rememberLottieComposition(LottieCompositionSpec.Url(assetUrl))
    val progress by animateLottieCompositionAsState(composition, iterations = LottieConstants.IterateForever)

    LottieAnimation(
        composition = composition,
        progress = { progress }
    )
}
Run Code Online (Sandbox Code Playgroud)

我想提供一个预览可组合方法,该方法也将呈现上述Image可组合项。理想情况下,我希望能够做这样的事情:

@Preview
@Composable
private fun ScreenPreview(){
    Theme {
        Surface {
            Screen(assetUrl = /* Some URL */)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

例如,屏幕将是一些包含可组合项的可Image组合项:

@Composable
fun Screen(assetUrl: String){
    Image(
        assetUrl = assetUrl
    )
}
Run Code Online (Sandbox Code Playgroud)

问题:

  • 有没有办法使用预览可组合方法从 url 加载图像?
  • 如果没有,您认为这在未来有可能实施吗? …

android kotlin android-jetpack android-jetpack-compose composable

8
推荐指数
0
解决办法
601
查看次数

在 Vue 3 Composition API 中将响应式 props 从组件传递到可组合项的最佳/推荐方法是什么?

我目前正在尝试 Vue 3 的组合 API,使用一个主应用程序和几个组合函数(也称为“可组合项”)。我研究了官方文档和一些教程。完成相同任务的方法似乎有很多种,所以我一直在思考什么是最好的方法:

  • 如何将反应变量从主应用程序传递到可组合项?我的意思是:我应该将它们作为可组合项的参数传递还是应该以其他方式进行?

  • 如何使用其他应用程序的方法或可组合项中的其他可组合项?:)

javascript vue.js vuejs3 vue-composition-api composable

7
推荐指数
1
解决办法
4207
查看次数

如何在 Android Studio 中创建新的可组合函数?

每次,我需要创建一个可组合函数,我都会这样做:

右键单击包 -> 新建 -> Kotlin 类/文件

我最终得到的是这样的:

class MyClass {}
Run Code Online (Sandbox Code Playgroud)

现在我必须手动进行三项更改:

  1. 添加@Composable注释
  2. 更改classfun
  3. 创建 constructor

这真的很烦人。但这是结果:

@Composable
fun MyClass(
    //Add arguments
) {
    //Add logic
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能更快地完成这个操作?Android Studio 有快捷键吗?我在菜单中找不到任何东西。

android kotlin android-studio android-jetpack-compose composable

7
推荐指数
1
解决办法
968
查看次数