Je souhaite ajouter un retour haptique aux boutons de mon application et les contrôler par programme pour afficher l'état du bouton (activé et désactivé) . Comment puis-je le faire fonctionner pour des clics de bouton simples.
Et y a-t-il un moyen d'avoir un retour haptique sur des événements tels que le toucher tactile?
Voici une réponse, même si ce n'est peut-être pas la meilleure implémentation:
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
}
}
N'oubliez pas que vous devez également ajouter l'autorisation "Android.permission.VIBRATE" au manifeste du programme. Vous pouvez le faire en ajoutant ce qui suit au fichier "AndroidManifest.xml":
<uses-permission Android:name="Android.permission.VIBRATE"></uses-permission>
J'espère que ça aide.
Un exemple pour Mayra est, pour exécuter, Haptic Feedback utilise ce code.
View view = findViewById(...)
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
Et cette ligne de code peut facilement être incluse dans votre action onclick . Le bon côté de ceci est que vous n’avez pas besoin de définir une permission dans le AndroidManifest (Je n’en ai pas besoin sur SdkVersion "7" (2.1 ou 2.3 est 7))
Faites aussi des notes dans mon code ici, cela ne sera exécuté que si vous utilisez en tant qu'activer Haptic Feedback en tant que global. Voir http://developer.Android.com/reference/Android/view/HapticFeedbackConstants.html pour toujours l’utiliser.
View possède une fonction performHapticFeedback, qui devrait vous permettre de l’exécuter à tout moment, c’est-à-dire sur un écouteur OnClick.
getWindow().getDecorView().performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
une approche simple que vous pouvez utiliser dans une activité.
En plus des réponses précédentes, assurez-vous que l'option "Vibration Feedback" est activée à partir des paramètres de votre appareil.