小编Ali*_*ris的帖子

Android Compose 中基于特定条件的链接修饰符

我想以这样的方式应用修饰符:如果提供了宽度,则应该使用提供的宽度,否则使用可用的最大宽度。

我按以下方式应用修改器,但结果不符合预期。视图宽度变得混乱。在此请求指导。

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)

android kotlin android-jetpack android-jetpack-compose

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

有没有办法通过Wi-Fi或蓝牙调试应用程序?[请注意,设备未通过USB连接]

出于某种原因(我不知道是什么),我的手机没有通过USB连接以进行调试.

我已检查设备驱动程序是否已正确安装,并且检查了手机设置中的USB调试选项.

因此,我在设备上调试应用程序时遇到了困难.我总是要导出apk并将其安装在我的手机中并进行一种黑盒测试.

有什么方法可以通过Wi-Fi或蓝牙调试应用程序......?

注意:我使用安装了KitKat 4.4.2的Android手机.

android bluetooth android-wifi usb-debugging

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

在 Jetpack Compose 中确定键盘是否存在并相应地更改布局

当我单击 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)

android scroll android-jetpack-compose

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

Jetpack Compose 中以约束方式包含两个文本的行

我想在一行中包含两个文本,其中第一个文本的宽度达到第二个文本的开头,如下所示 在此输入图像描述

我正在尝试修改权重,但获得的结果并不相同。有没有办法通过使用 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)

这有效,如果我遗漏了什么,请提出更好的解决方案。

编辑2:它给了我这样的结果: 在此输入图像描述 我希望标题从行的开头开始

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

9
推荐指数
2
解决办法
5292
查看次数

防止在 Compose 的文本字段中剪切/复制/粘贴


有什么方法可以防止在 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 中实现这一点吗?

android textfield android-jetpack-compose

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

将项目粘贴到回收视图的顶部

我已经在 SO 和 Google 上阅读了许多关于 recyclerview 中粘性标头的问题。然而,大多数人都将完整的列表项放在顶部。我只想将列表项的一部分粘贴到 recyclerview 的顶部,直到滚动整个项目。我已经浏览过一些像这个这样的库,但仍然不知道如何完成它。任何帮助表示赞赏。

我想粘贴红色框中突出显示的内容,直到滚动完整的列表项(标记为绿色)。

在此输入图像描述

android sticky android-recyclerview stickyrecycleview

5
推荐指数
1
解决办法
2610
查看次数

Android Compose 中的全屏对话框不占用全屏高度

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)

运行此代码会产生全屏对话框,但高度与屏幕高度不完全匹配。

有没有办法让对话框占据屏幕尺寸的完整宽度和高度?

请找到下面的屏幕截图:

android dialog android-jetpack-compose

5
推荐指数
2
解决办法
4164
查看次数

animateScrollToPage 在伴奏寻呼机中带有缓慢滑动动画

在伴奏寻呼机中自动滚动到下一页时,有没有办法减慢滑动间隔?

在最新版本中,对此的支持已被删除。

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

android-jetpack-compose jetpack-compose-accompanist

5
推荐指数
1
解决办法
2178
查看次数

如果提供的参数包含特殊字符,则无法在 Jetpack Compose 中导航

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 码/密码)吗?

是我的屏幕的标题。我在尝试导航时遇到异常。我怎样才能避免这个问题,因为我的标题包含“/”,它被视为深层链接本身的一部分。

android android-jetpack-navigation android-jetpack-compose

4
推荐指数
1
解决办法
996
查看次数

如何创建圆形波纹?

我想创建类似的涟漪效果,显示在红色框中并用箭头表示。

在此处输入图片说明

每当我将selectableItemBackground设置为任何元素时,它只会在元素的布局边界上显示涟漪,而不是像我上面分享的那样。

请分享一个工作示例。谢谢。

user-interface android ripple

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

如何检测具有垂直滚动的列的向上/向下滚动?

我有一个列有很多项目;基于滚动,我想显示/隐藏浮动操作按钮,如果滚动向下,隐藏它,如果滚动向上,显示它。

我的代码部分工作,但滚动有问题。下面是代码。需要帮忙。

 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

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

如何找出任何Python项目中代码执行的起点?

我一直在寻找各种开放源代码GitHub的Python项目一样, http-promptTheano

我无法弄清楚它们的起点在哪里,以便可以优雅地调试它们。我需要查看每个文件中的__main__方法吗?

我来自Android背景;所以我在搜索相关内容,例如AndroidManifest.xml从哪里可以得到代码开始的地方的想法,但是我的尝试没有成功。

python debugging

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

有没有办法制作具有自动滚动功能的双向 Horizo​​ntalPager?

伴奏库中的 Horizo​​ntalPager可以创建一个简单的 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 个索引。

horizontal-scrolling kotlin android-jetpack-compose

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