小编Abh*_*bhi的帖子

Jetpack Compose Box 填满整个屏幕

我是学习 Android Jetpack Compose 的新手。我当前正在创建一个 Box,将修改器高度和宽度设置为 100 dp,但是当我将 Box 放在 Column 之外时,它会填充整个布局,而不是保持 100 x 100dp 的大小。

这是代码:

@Composable
fun MainContent() {
    Box(modifier = Modifier
        .width(100.dp)
        .height(100.dp)
        .background(Color.Blue))
    Column {
        Box(modifier = Modifier
            .width(100.dp)
            .height(100.dp)
            .background(Color.Red))
        Box(modifier = Modifier
            .width(100.dp)
            .height(100.dp)
            .background(Color.Green))
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

3
推荐指数
1
解决办法
3284
查看次数

npm 错误!解析时 JSON 输入意外结束

ng new project-name在 angular 项目中执行时出现以下错误

npm WARN deprecated circle-json@0.5.9:CircularJSON 仅在维护中,flatted 是它的后继者。
npm 错误!解析 '...:"~0.0.0","webpack-de' 附近时 JSON 输入意外结束

npm 错误!可以在以下位置找到此运行的完整日志:
npm ERR!C:\Users\Abhi\AppData\Roaming\npm-cache_logs\2018-12-13T10_24_02_151Z-debug.log
包安装失败,见上。

我尝试过的:
1. npm cache clean --force
2. npm cache verify
3. npm ERR!解析 '...5.0","rimraf":"^2.2.8' 附近时 JSON 输入意外结束

当前版本:
节点:10.14.2
NPM:6.5.0
操作系统:Windows

npm angular-cli angular

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

android导航图中的全局动作和目的地特定动作之间的区别?

在android导航图中,我们有全局动作目的地内的动作

使用全局动作,多个目的地可以重用一个动作。那么在目的地内使用动作有什么好处呢?
换句话说,在整个导航图中使用全局动作的缺点是什么?

android android-architecture-navigation

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

如何防止在对话框外部单击时警报对话框被关闭?

我有一个AlertDialog盒子,用来获取用户的输入。但是,当用户在对话框外部单击时,无论用户是否已输入内容,它都会被忽略。

该输入对于应用程序中的进一步处理非常重要。所以我必须保留它。
只要能实现我的目的,我真的很欣赏不同的方法。

user-interface android android-alertdialog

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

0dp layout_width 无法按 recyclerview 项中的约束布局子项的预期工作

缩小工作布局代码,

<?xml version="1.0" encoding="utf-8"?>
<layout>
    <data>
    </data>

    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/recyclerview_item_layout_root_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.google.android.material.textview.MaterialTextView
            android:id="@+id/recyclerview_item_layout_textview_fact"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

上面的代码按预期呈现回收器视图。
但根据文档

您不能对 ConstraintLayout 中的任何视图使用 match_parent。而是使用“匹配约束”(0dp)。

所以,我替换了这一行,

android:layout_width="match_parent"
Run Code Online (Sandbox Code Playgroud)

有了这个

android:layout_width="0dp"
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用。是recyclerview不可见的。

完整的存储库是开源的, https://github.com/Abhimanyu14/cat-fact

Recyclerview 适配器代码(如果需要),

class HomeFragmentRecyclerViewAdapter :
    PagingDataAdapter<CatFact, HomeFragmentRecyclerViewAdapter.MainActivityRecyclerViewHolder>(
        CatFactDiffCallback
    ) {
    
    class MainActivityRecyclerViewHolder(private var binding: RecyclerviewItemLayoutBinding) :
        RecyclerView.ViewHolder(binding.root) {
        fun bind(catFact: CatFact?) {
            catFact?.let {
                binding.recyclerviewItemLayoutTextviewFact.text = String.format(
                    binding.root.context.resources.getString(R.string.recyclerview_item_layout_fact),
                    catFact.id,
                    catFact.fact
                )
            }
        }
    }
    
    object CatFactDiffCallback : DiffUtil.ItemCallback<CatFact>() { …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview android-constraintlayout

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

如何在 Android Jetpack Compose 中没有包装器可组合的情况下将一项放在列末尾?

我有一个Column这样的

Column {
    Comopsable1()
    Comopsable2()
    Comopsable3()
}
Run Code Online (Sandbox Code Playgroud)

我想从上面Composable1()跟着。 但是,我想放在列的底部。Composable2()
Comosable3()

有没有办法在不引入 Composale3() 包装器 Composable 的情况下做到这一点?

我当前的代码有效,

Column {
    Comopsable1()
    Comopsable2()
    Column(
        verticalArrangement = Arrangement.Bottom,
        modifier = Modifier.fillMaxHeight(),
    ) {
        Comopsable3()
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法删除新引入的Column

android android-jetpack-compose

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

对齐框中的项目 [Jetpack Compose]

我正在尝试设置ic_remove_selected_photo在盒子的顶端

在此输入图像描述

我所取得的成就:

在此输入图像描述

代码:

Box(modifier = Modifier.size(90.dp).padding(7.dp)) {
    Image(
        bitmap = bitmap.asImageBitmap(),
        modifier = Modifier
            .size(80.dp)
            .clip(RoundedCornerShape(6.dp)),
        contentScale = ContentScale.Crop,
    )

    IconButton(modifier = Modifier.align(Alignment.TopEnd).size(10.dp)) {
        Icon(painter = painterResource(id = R.drawable.ic_remove_selected_photo))
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何remove icon在图像上设置?

android kotlin android-jetpack-compose

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

如何从 res xml 设置文本 (Jetpack Compose) 的字体大小?

我对dimen.xml我在该应用程序上使用的所有内容都有自己的看法。现在有了jetpack compose,我也想在这里使用这些定义

有一段文字:

...
    Text(
        text = stringResource(id = R.string.brandname),
        fontSize = 12.sp
    )
...
Run Code Online (Sandbox Code Playgroud)

我可以从资源中获取文本,但是,我无法12.sp从中获取价值dimen.xml,我正在尝试这样做

...
    Text(
        text = stringResource(id = R.string.brandname),
        fontSize = dimensionResource(id = R.dimen.brandname_size)
    )
...
Run Code Online (Sandbox Code Playgroud)

fontSize我在行类型不匹配、必需TextUnit、已找到中遇到错误Dp

我在这里缺少什么?

android-jetpack android-jetpack-compose android-compose-textfield

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

如何使 Surface 背景透明 (Jetpack Compose)

我有这样的实现

Surface(
                    modifier = Modifier.background(Color.Transparent),
                    shape = RoundedCornerShape(corner = CornerSize(2.dp)),
                    border = BorderStroke(width = 1.dp, color = showpageColorAgvotBoarder)
                ) {
                    Text(
                        modifier = Modifier.padding(2.dp),
                        text = item,
                        style = ShowpageAgvotStyle
                    )
                }
Run Code Online (Sandbox Code Playgroud)

我得到的结果是

在此输入图像描述

就像整个背景是黑色的一样,然而,表面背景是白色的......

我只需要一个边框,表面的背景应该是透明的(在这种情况下黑色,因为整个背景是黑色的)

我究竟做错了什么?

android android-jetpack android-jetpack-compose android-jetpack-compose-material3

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

在 Jetpack Compose 中使图像超出边界

我是新手,正在尝试使用Image()具有以下细节的可组合项:

在此输入图像描述

该图像需要比其父图像具有更大的高度和宽度,但具有固定的偏移量(绿点)。

我怎样才能用jetpack compose实现这个设计?

user-interface android android-jetpack-compose

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