我是学习 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) 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
在android导航图中,我们有全局动作和目的地内的动作。
使用全局动作,多个目的地可以重用一个动作。那么在目的地内使用动作有什么好处呢?
换句话说,在整个导航图中使用全局动作的缺点是什么?
我有一个AlertDialog盒子,用来获取用户的输入。但是,当用户在对话框外部单击时,无论用户是否已输入内容,它都会被忽略。
该输入对于应用程序中的进一步处理非常重要。所以我必须保留它。
只要能实现我的目的,我真的很欣赏不同的方法。
缩小工作布局代码,
<?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) 我有一个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?
我正在尝试设置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在图像上设置?
我对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
我有这样的实现
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
android ×8
android-architecture-navigation ×1
android-jetpack-compose-material3 ×1
angular ×1
angular-cli ×1
kotlin ×1
npm ×1