Как включить тактическую обратную связь при просмотре кнопок
Я хочу добавить гапловую обратную связь к моим кнопкам приложения и программно их контролировать, чтобы показать состояние кнопки (включено и отключено).
Установленный по умолчанию переключатель тактильной обратной связи работает только для длительного нажатия. Как я могу заставить его работать для простых щелчков кнопки.
И есть ли способ иметь тактильную обратную связь в таких событиях, как движение касания?
Ответы
Ответ 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" включена в настройках вашего устройства.