小编Lhe*_*air的帖子

Motion Layout OnSwipe 禁用点击 YoutubePlayer (YoutubePlayer API)

我有一个 YoutubePlayer 在我的 Motion Layout 中播放视频。我想实现这个youtube-like motion https://developer.android.com/training/constraint-layout/motionlayout/examples#youtube-like_motion

这里的问题是,在上面提供的示例中,他们使用 ImageView 而不是 YoutubePlayer 界面来完成动画。但不幸的是,youtube 播放器界面似乎“覆盖”了点击侦听器,并且只允许点击而不是滑动。(这是我的推论)。

我想知道它是如何在 youtube 应用程序中实现的。如果有人可以回答我,请做。我需要这在我的应用程序。

我提出了一个问题,请检查一下。 https://issuetracker.google.com/issues/162155197

这是我尝试过的:

  1. 当设置touchRegionId为 youtube 播放器前面或后面的视图时,界面的点击被完全禁用。动画虽然有效。我看不到此选项的解决方案,因为我认为此行为是设计使然。

  2. 当设置limitBoundsTo为视图时,它会完成它的工作。它将OnSwipe动作区域限制为这样的视图边界。这完全符合我的需要,直到 YOUTUBE 播放器界面初始化。初始化后,OnSwipe不再检测到,界面只侦听点击,例如,您可以暂停视频。如果限制查看的限制大于 youtube 界面,我可以在视图的其余部分滑动。但是 youtube 界面不会收听滑动。也许界面不支持滑动?

  3. 我试过不设置上述任何一项。只是简单的 OnSwipe 与拖动方向。在初始化 youtube 之前,滑动无处不在。当它被初始化时,youtube 播放器界面使用的像素停止监听滑动,它们只监听点击。

考虑到2.和3.,我觉得这是接口本身的问题。不管你有什么建议,请告诉我。谢谢你。

这是我的运动布局:

<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/blackBackground"
    android:nestedScrollingEnabled="false"
    app:layoutDescription="@xml/activity_main_scene"
    app:motionDebug="SHOW_ALL">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/player_background"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:touchscreenBlocksFocus="false"
        android:clickable="false"
        android:background="#000000"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <FrameLayout
        android:id="@+id/main_player"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="@id/player_background"
        app:layout_constraintLeft_toLeftOf="parent" …
Run Code Online (Sandbox Code Playgroud)

android android-animation android-layout android-youtube-api android-motionlayout

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

在 Cloud Firestore 上添加文档时更新字段

我有一个关于在我的 Android 应用程序中使用 Cloud Firestore 函数的问题(我正在使用 Android Studio 在 kotlin 上写作)

阅读了一些文档后,我认为在我的数据库中创建新文档时,可以在 Firestore 函数中运行自定义方法。我需要做的就是更新一个字段。

问题是 Cloud Firestore 上的这些函数需要用 JavaScript 编写,而我需要使用 Node.js,而我对此的了解为 0。

对于具有 Cloud Firestore 知识的任何开发人员,有关此问题的任何指南或提示?

node.js firebase google-cloud-firestore

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