我想以这样的方式应用修饰符:如果提供了宽度,则应该使用提供的宽度,否则使用可用的最大宽度。
我按以下方式应用修改器,但结果不符合预期。视图宽度变得混乱。在此请求指导。
val myModifier = Modifier.padding(
start = 4.dp, end = 4.dp, top = 8.dp, bottom = 8.dp
)
if (viewWidth == null)
myModifier.then(Modifier.fillParentMaxWidth(1f))
else
myModifier.then(Modifier.width(viewWidth))
myModifier.then(
Modifier.height(viewHeight ?: 100.dp)
.clickable(onClick = { listener.onItemClick(item) })
)
Run Code Online (Sandbox Code Playgroud) 出于某种原因(我不知道是什么),我的手机没有通过USB连接以进行调试.
我已检查设备驱动程序是否已正确安装,并且检查了手机设置中的USB调试选项.
因此,我在设备上调试应用程序时遇到了困难.我总是要导出apk并将其安装在我的手机中并进行一种黑盒测试.
有什么方法可以通过Wi-Fi或蓝牙调试应用程序......?
注意:我使用安装了KitKat 4.4.2的Android手机.
当我单击 TextField 时,我需要向上滚动 UI 以向用户显示登录按钮,而不是将其隐藏在键盘后面。
我正在使用 RelocationRequester 来实现同样的目的。
我用它来检测键盘显示/隐藏事件:
fun listenKeyboard() {
val activityRootView =
(requireActivity().findViewById<View>(android.R.id.content) as ViewGroup).getChildAt(0)
activityRootView.viewTreeObserver.addOnGlobalLayoutListener(object :
ViewTreeObserver.OnGlobalLayoutListener {
private var wasOpened = false
private val DefaultKeyboardDP = 100
private val EstimatedKeyboardDP =
DefaultKeyboardDP + 48
private val r: Rect = Rect()
override fun onGlobalLayout() {
val estimatedKeyboardHeight = TypedValue
.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
EstimatedKeyboardDP.toFloat(),
activityRootView.resources.displayMetrics
)
.toInt()
activityRootView.getWindowVisibleDisplayFrame(r)
val heightDiff: Int = activityRootView.rootView.height - (r.bottom - r.top)
val isShown = heightDiff >= estimatedKeyboardHeight
if (isShown == wasOpened) { …Run Code Online (Sandbox Code Playgroud) 我想在一行中包含两个文本,其中第一个文本的宽度达到第二个文本的开头,如下所示

我正在尝试修改权重,但获得的结果并不相同。有没有办法通过使用 Row 本身而不是 ConstraintLayout 来做到这一点。
编辑 :
Row(modifier = Modifier.fillMaxWidth()) {
Text(
"Some long title abcd efgh ijkl mnop qrst uvwx yzzzzz Some long title abcd efgh ijkl mnop qrst uvwx yzzzzz",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.weight(5f)
)
Text("View all", modifier = Modifier.weight(1f))
}
Run Code Online (Sandbox Code Playgroud)
这有效,如果我遗漏了什么,请提出更好的解决方案。
android row android-jetpack-compose android-compose-textfield
有什么方法可以防止在 Android Jetpack Compose 中的 TextField 中剪切、复制、粘贴吗?我尝试了修饰符的pointerInput,但它不起作用。
Modifier.pointerInput(Unit) {
detectTapGestures(onLongPress = {
Toast.makeText(context, "long pressed", Toast.LENGTH_SHORT).show()
})
}
Run Code Online (Sandbox Code Playgroud)
有什么办法可以在 Compose 中实现这一点吗?
我已经在 SO 和 Google 上阅读了许多关于 recyclerview 中粘性标头的问题。然而,大多数人都将完整的列表项放在顶部。我只想将列表项的一部分粘贴到 recyclerview 的顶部,直到滚动整个项目。我已经浏览过一些像这个这样的库,但仍然不知道如何完成它。任何帮助表示赞赏。
我想粘贴红色框中突出显示的内容,直到滚动完整的列表项(标记为绿色)。
Dialog(
properties = DialogProperties(usePlatformDefaultWidth = false),
onDismissRequest = {viewModel.showDialog.value = false}
){
Column(modifier = Modifier.width(LocalConfiguration.current.screenWidthDp.dp)
.height(LocalConfiguration.current.screenHeightDp.dp).background(color = Color.Black.copy(alpha = 1f))) {
}
}
Run Code Online (Sandbox Code Playgroud)
运行此代码会产生全屏对话框,但高度与屏幕高度不完全匹配。
有没有办法让对话框占据屏幕尺寸的完整宽度和高度?
请找到下面的屏幕截图:

在伴奏寻呼机中自动滚动到下一页时,有没有办法减慢滑动间隔?
在最新版本中,对此的支持已被删除。
The animationSpec, initialVelocity and skipPages parameters on animateScrollToPage() have been removed. The lazy components handle this automatically.
Run Code Online (Sandbox Code Playgroud)
目前,自动滚动到下一页的速度非常快。
pager.animateScrollToPage(pageIndex)
Run Code Online (Sandbox Code Playgroud)
使用的伴奏寻呼机版本:0.22.1-rc
Navigation destination that matches request NavDeepLinkRequest{ uri=android-app://androidx.navigation/testScreen/Can I change this (Pin / Password)?/100/300 } cannot be found in the navigation graph
Run Code Online (Sandbox Code Playgroud)
在哪里
我可以更改此设置(PIN 码/密码)吗?
是我的屏幕的标题。我在尝试导航时遇到异常。我怎样才能避免这个问题,因为我的标题包含“/”,它被视为深层链接本身的一部分。
我想创建类似的涟漪效果,显示在红色框中并用箭头表示。
每当我将selectableItemBackground设置为任何元素时,它只会在元素的布局边界上显示涟漪,而不是像我上面分享的那样。
请分享一个工作示例。谢谢。
我有一个列有很多项目;基于滚动,我想显示/隐藏浮动操作按钮,如果滚动向下,隐藏它,如果滚动向上,显示它。
我的代码部分工作,但滚动有问题。下面是代码。需要帮忙。
Column(
Modifier
.background(color = colorResource(id = R.color.background_color))
.fillMaxWidth(1f)
.verticalScroll(scrollState)
.scrollable(
orientation = Orientation.Vertical,
state = rememberScrollableState {
offset.value = it
coroutineScope.launch {
scrollState.scrollBy(-it)
}
it
},
)
) { // 10-20 items }
Run Code Online (Sandbox Code Playgroud)
根据偏移值(无论是正/负),我保持 FAB 的可见性。
android scroll vertical-scrolling android-jetpack android-jetpack-compose
我一直在寻找各种开放源代码GitHub的Python项目一样,
http-prompt和Theano
我无法弄清楚它们的起点在哪里,以便可以优雅地调试它们。我需要查看每个文件中的__main__方法吗?
我来自Android背景;所以我在搜索相关内容,例如AndroidManifest.xml从哪里可以得到代码开始的地方的想法,但是我的尝试没有成功。
伴奏库中的 HorizontalPager可以创建一个简单的 ViewPager;有没有办法可以在两端无限滑动?
@ExperimentalPagerApi
@Composable
fun AutoScrollPagerHorizontal(d: List<Stem>?) {
var data: MutableList<Stem> = d?.toMutableList() ?: mutableListOf()
if (data.isNullOrEmpty()) return
val pageState = rememberPagerState(pageCount = data.size)
HorizontalPager(
state = pageState
) {
Card(
Modifier
.height(240.dp)
.padding(start = 16.dp, end = 16.dp, top = 8.dp, bottom = 8.dp)
) {
Image(
painter = rememberGlidePainter(
request = data[it].icon,
),
contentDescription = data[it].title,
contentScale = ContentScale.FillBounds
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
此代码正确生成 viewpager,但在到达数据的最后一个索引后不会滚动到第 0 个索引。