Подтвердить что ты не робот

Как включить тактическую обратную связь при просмотре кнопок

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

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

4b9b3361

Ответ 1

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

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>

Я надеюсь, что это поможет.

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

getWindow().getDecorView().performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);

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

Ответ 5

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