Как включить тактильный отзыв при просмотре кнопок - PullRequest
33 голосов
/ 09 февраля 2010

Я хочу добавить тактильные отзывы к кнопкам моего приложения и управлять ими программно, чтобы показать состояние кнопок (включено и отключено). Установщик тактильной обратной связи по умолчанию работает только при длительном нажатии. Как я могу заставить это работать для простых нажатий кнопки.

И есть ли способ получить тактильные отзывы о таких событиях, как сенсорный ход?

Ответы [ 5 ]

82 голосов
/ 31 октября 2012

Примером для Mayra является то, что для запуска Haptic Feedback используется этот код.

View view = findViewById(...)
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);

И эту строчку кода можно легко включить в действие по щелчку. Хорошая часть этого заключается в том, что вам не нужно устанавливать разрешение в AndroidManifest (Мне не нужно это на SdkVersion "7" (2.1 или 2.3 это 7))

Также делайте заметки в моем коде, здесь это будет выполнено только в том случае, если использовать как Haptic Feedback как глобальный См. http://developer.android.com/reference/android/view/HapticFeedbackConstants.html, чтобы всегда использовать его.

56 голосов
/ 31 марта 2010

Вот ответ, хотя это может быть не самая лучшая реализация:

import android.view.View;
import android.os.Vibrator;

public class Main extends Activity implements OnClickListener
{
    private View myView;
    private Vibrator myVib;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        myVib = (Vibrator) this.getSystemService(VIBRATOR_SERVICE);

        //myView can be any type of view, button, etc.
        myView = (View) this.findViewById(R.id.myView);
        myView.setOnClickListener(this);
    }

    @Override
    public void onClick(View v)
    {
        myVib.vibrate(50);
        //add whatever you want after this
    }
}

Не забудьте, вам также необходимо добавить разрешение "android.permission.VIBRATE" в манифест программы. Это можно сделать, добавив в файл «AndroidManifest.xml» следующее:

<uses-permission android:name="android.permission.VIBRATE"></uses-permission>

Надеюсь, это поможет.

28 голосов
/ 09 февраля 2010

View имеет функцию executeHapticFeedback, которая должна позволять вам выполнять ее в любое время, например, на слушателе OnClick.

2 голосов
/ 21 января 2019
getWindow().getDecorView().performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);

простой подход, который вы можете использовать в деятельности.

0 голосов
/ 17 июля 2018

В дополнение к предыдущим ответам, пожалуйста, убедитесь, что опция «Vibration Feedback» включена в настройках вашего устройства

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...