小编Abh*_*bhi的帖子

如何使用css做浮动动作按钮?

我一直在寻找一种方法来做类似的事情:

在此输入图像描述

(对于网页)使用HTML/CSS/jQuery,但无法做到.

我正在尝试制作一个按钮,当您将鼠标悬停在其上时,其他选项会出现.

html css jquery

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

如何降低 Android CameraX ImageAnalysis 的帧速率?

如何在图像分析中将帧速率降低到 1 fps,这样我就不会多次检测到条形码。在我的用例中,以 1 秒的间隔多次扫描相同的条形码应该会增加一个计数器。所以我希望它能够正常工作。(类似于商店收银台的产品扫描仪)

cameraX版本:1.0.0-beta02

类似问题:

目前的实施:

https://proandroiddev.com/update-android-camerax-4a44c3e4cdcc
按照此文档,限制图像分析。

override fun analyze(image: ImageProxy) {
    val currentTimestamp = System.currentTimeMillis()
    if (currentTimestamp - lastAnalyzedTimestamp >= TimeUnit.SECONDS.toMillis(1)) {
        // Image analysis code
    }
    image.close()
}
Run Code Online (Sandbox Code Playgroud)

更好的解决方案会有所帮助。

android android-camerax

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

如何在 Jetpack Compose Android 上的 LazyColumn 中显示项目视图的动画

我在惰性列视图中有一个项目列表。

当我们从列表中删除一项时,我们如何显示动画。

我需要为被删除的视图设置动画。删除操作是通过按下视图内的删除图标来完成的。 在此处输入图片说明

我尝试了 AnimationVisibility 并且它没有按预期工作。

在此处输入图片说明

android android-jetpack-compose

7
推荐指数
3
解决办法
893
查看次数

Jetpack compose 中的活动视图模型

在片段中,我们有

private val activityViewModel: MainActivityViewModel by activityViewModels()
private val fragmentViewModel: MainFragmentViewModel by viewModels()
Run Code Online (Sandbox Code Playgroud)

获取整个应用程序中的共享视图模型(活动视图模型)和视图特定视图模型(片段视图模型)的实例。

我正在迁移以作曲。

如何在jetpack compose中获得两个具有不同范围的视图模型?

文档中,我可以看到这一行,

viewModel() 返回一个现有的 ViewModel 或在给定范围内创建一个新的 ViewModel。

但是,如何指定视图模型的范围?

PS
我已经解决了这个类似的问题,但没有任何答案。

android android-jetpack-compose

7
推荐指数
2
解决办法
8639
查看次数

React-query:如果查询为空,如何避免触发函数调用?

我用来react-query调用API。该调用运行良好,并且每次在输入字段中更新查询值时都会执行该调用。
不幸的是,即使查询为空,它也会触发 API 调用。

例如,当用户加载应用程序时,输入(以及查询)将为空。

如何仅在有查询时触发API调用?

代码

// API call
export async function myQuery(query) {
  try {
    const res = await ax.get("myapiurl", {
      params: { query },
    });
    return res.data;
  } catch {
    return null;
  }
}

// react-query
const { status, data } = useQuery(
  ["myquery", { query }],
  () => myQuery(query)
);
Run Code Online (Sandbox Code Playgroud)

reactjs react-query

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

Firebase Firestore:实例初始化后无法调用 useEmulator()

我正在使用 Firebase Emulator Suite来测试我的 Firebase Cloud Functions,然后再将其部署到生产中。

探索这种方法以从我的 Andriod 设备触发可调用的 firebase 云函数。

我的应用程序在运行时崩溃了。

错误:

java.lang.IllegalStateException:实例已初始化后无法调用 useEmulator()。

错误来源 - FirebaseFirestore.java

/**
   * Modifies this FirebaseDatabase instance to communicate with the Cloud Firestore emulator.
   *
   * <p>Note: Call this method before using the instance to do any database operations.
   *
   * @param host the emulator host (for example, 10.0.2.2)
   * @param port the emulator port (for example, 8080)
   */
  public void useEmulator(@NonNull String host, int port) {
    if …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-tools google-cloud-functions google-cloud-firestore

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

Jetpack Compose 自动填充密码更新

我尝试在我的应用程序中为完全使用 Jetpack compose 编写的电子邮件和密码提供一些自动填充功能。使用此功能后,我实现了自动填充,但更改密码后它仍然是旧密码。有没有什么想法可以让谷歌了解某个地方的新情况,也许在更改密码或最好使用新密码登录后,向用户询问“想要更新密码吗?”这样的问题?

目前,更改密码操作中没有任何与自动填充功能相关的功能。

登录页面:

OutlinedTextField(
    modifier = landscapeTextModifier
        .padding(top = 20.dp)
        .autofill(
            autofillTypes = listOf(AutofillType.EmailAddress),
            onFill = { loginViewModel.email.value = it },
        ),
    value = loginViewModel.email.value,
    onValueChange = { loginViewModel.email.value = it.trim() },
    // some other things
)
OutlinedTextField(
    modifier = landscapeTextModifier
        .padding(top = 10.dp)
        .autofill(
            autofillTypes = listOf(AutofillType.Password),
            onFill = { loginViewModel.password.value = it },
        ),
    value = loginViewModel.password.value,
    onValueChange = { loginViewModel.password.value = it },
    // some other things
)
Run Code Online (Sandbox Code Playgroud)

android autofill android-jetpack-compose password-autofill

6
推荐指数
0
解决办法
2621
查看次数

IllegalStateException:在 Jetpack Compose 测试期间未初始化 FocusRequester

我有一个屏幕,带有TextFields. 我需要第一个TextField在屏幕显示时自动聚焦。

缩小的示例代码

@Composable
fun ScreenView(
    data: ScreenViewData,
) {
    val focusManager = LocalFocusManager.current
    val focusRequester = remember {
        FocusRequester()
    }

    LaunchedEffect(
        key1 = Unit,
    ) {
        focusRequester.requestFocus()
    }

    Scaffold() { innerPadding ->
        Column {
            OutlinedTextField(
                modifier = Modifier.focusRequester(focusRequester),
            )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该代码可以正常运行,没有任何问题。

但是,在撰写 UI 测试时,我收到以下错误。

java.lang.IllegalStateException:
FocusRequester 未初始化。以下是一些可能的修复方法:

  1. 记住 FocusRequester: val focusRequester = Remember { FocusRequester() }
  2. 您是否忘记添加 Modifier.focusRequester() ?
  3. 您是否试图在构图​​过程中要求焦点?
    应针对某些事件发出焦点请求。例如 Modifier.clickable { focusRequester.requestFocus() }

测试代码

@ExperimentalAnimationApi
class ScreenViewTest {

    @get:Rule
    val composeTestRule …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose android-jetpack-compose-testing

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

Android 中的可组合函数和普通函数有什么区别?

我已经阅读了有关可组合函数的官方文档

但我无法理解可组合函数。
例如,rememberWatchState()Composable代码 A 中的一个函数,但它不像普通函数那样定义我的应用程序的 UI。

Android中的Composable函数和普通函数有什么区别?

代码A

@Composable
fun ScreenHome_Watch(
    watchState:WatchState =  rememberWatchState()
){
    val density= watchState.density
}


@Composable
fun rememberWatchState(): WatchState {
    val context: Context = LocalContext.current
    val temp = loadDBWarningValueWithPreference(context)

    val watchState = WatchState(temp.toFloat(),LocalDensity.current)

    return remember {
        watchState    
    }
}

class WatchState(
    private val alarmValue:Float,
    val density: Density
){
    ...
}


fun drawDial(
    drawScope: DrawScope,
    watchState:WatchState
) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

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

错误:(JetPack Compose) 类型“TypeVariable(T)”没有方法“getValue(Nothing?, KProperty&lt;*&gt;)”

我发现一篇文章描述了如何在LazyColumn中实现视差视图,有这样一个方法:

@Composable
    fun ImageParallaxScroll() {
        val lazyListState = rememberLazyListState()
        val list = (0..1_000).map{ "Item $it" }.toList()

        val firstItemTranslationY: LazyListState by remember {
            derivedStateOf {
                when {
                    lazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() && lazyListState.firstVisibleItemIndex == 0 -> lazyListState.firstVisibleItemScrollOffset * .6f
                    else -> 0f
                }
            }
        }

            ...
    }
Run Code Online (Sandbox Code Playgroud)

问题是整个remember下划线块都带有红线,并且出现这样的错误:

Type 'TypeVariable(T)' has no method 'getValue(Nothing?, KProperty<*>)' and thus it cannot serve as a delegate
Run Code Online (Sandbox Code Playgroud)

不明白这里有什么问题?

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

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