gpt4 book ai didi

java - 对 Android 中的触觉反馈感到困惑

转载 作者:行者123 更新时间:2023-12-02 12:29:14 25 4
gpt4 key购买 nike

我有一个带有 9 个按钮的 Android 应用程序。此应用程序在 2.36 上运行,并且是设备上唯一的应用程序(或者至少是我们让用户使用的唯一应用程序 - 我们在交付设备时预装了我们的代码,作为我们销售的工业产品套件的一部分。)

所有按钮都转到同一个处理程序并按它们的标签在那里分类。处理程序在 XML 中指定:

   <Button android:id="@+id/IdleButton"
android:layout_marginLeft="5dp"
android:background="@drawable/idle18pt_he_normal"
android:hapticFeedbackEnabled="true"
android:layout_width="92dp"
android:layout_height="92dp"
android:tag="0"
android:onClick="theButtonHandler">
</Button>

我想在用户按下按钮时启用触觉反馈,即振动。有没有办法在 XML 中做到这一点,或者如果没有,有没有办法在我的 onClick() 处理程序中做到这一点?

我在 Android 上看到的用于触觉反馈的 Web 示例(例如 http://androidcookbook.com/Recipe.seam?recipeId=1242)似乎主要涉及对 list 的更改、对 XML 的更改(您可以看到我已经在上面的 XML 中启用了它)然后为按钮声明、初始化和实现单独的 Touch 处理程序。这似乎需要做很多工作,尤其是因为我有 9 个按钮。

由于我的所有按钮都只有一个 onClick 处理程序,有没有一种方法可以在那里实现触觉反馈?

当我点击我的一个按钮时,我所要做的就是在手机设置的“声音”部分中选中“声音选择”——根本不需要编码。为什么触觉反馈要复杂得多?

最佳答案

不使用 VIBRATE允许。

您可以使用 performHapticFeedback()任何View的功能包括Button .

例如,在 Kotlin 中以编程方式:

view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)

这会使设备振动。

您可以在 Fragment 中的任何位置振动设备或 Activity ,即使您没有 View可用的。

在 fragment 中,您可以执行以下操作:
requireView().performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)

在 Activity 中,您可以:
window.decorView.rootView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)

关于java - 对 Android 中的触觉反馈感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com