Androidはクリックイベントに振動効果を加えることができます。


AndroidがButtonをクリックして振動効果教程を実現します。
Overview
Androidのクリック効果には、やはり振動効果が多いです。
次に、振動効果の実現方法を見てみましょう。
必要な権限
もし開発に私たちの振動を使う必要があるなら、権限を申請したいです。
<uses-permission android:name=「android.permission.VIBRATE」/>
これで私たちの権限を申請します。
私たちの振動効果のヘルプクラス
Vibrate Helpというクリック振動のヘルプクラスを作成します。
彼の使い方を見てください。

public class VibrateHelp {
 private static Vibrator vibrator;
 /**
  * @ClassName:VibrateHelp -      
  * @author:CaoJiaHao
  * @Param:context        context
  * @param:millisecond      
  */
 @SuppressWarnings("static-access")
 public static void vSimple(Context context, int millisecode) {
  vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
  vibrator.vibrate(millisecode);
 }
 /**
  * @param : pattern      
  * @param : repeate        
  * @ClassName:VibrateHelp -      
  * @author:CaoJiaHao
  * @Param: context        context
  **/
 @SuppressWarnings("static-access")
 public static void vComplicated(Context context, long[] pattern, int repeate) {
  vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
  vibrator.vibrate(pattern, repeate);
 }
 /**
  *@ClassName:VibrateHelp -     
  *@author:CaoJiaHao
  **/
 public static void stop() {
  if (vibrator != null)
   vibrator.cancel();
 }
}
これで私たちの振動支援類は完成します。
それから私達は私達のソースコードに基づいて分析します。
私たちはVibratorを実用化したいです。
そして私たちはあなたの簡単な振動モードを作成します。
次に私たちの複雑な振動モードを作成します。
これで私たちのクリックは振動します。ヘルプ類は完成しました。
しかし、私たちは助けがあるだけでは足りません。私たちは彼を呼んでこそできます。そうでなければ、私たちのHelper Classは何の役割もありません。
パッケージ内の振動クリックイベント
まず、私たちはクラスを作って、彼に私たちのクリックの振動効果を制御させます。
私たちはViewClickVibrateという名前を作りました。まずソースコードを見てください。

public class ViewClickVibrate implements View.OnClickListener {
 private final int VIBRATE_TIME = 60;
 @Override
 public void onClick(View v) {
  VibrateHelp.vSimple(v.getContext(), VIBRATE_TIME);
 }
}
これは私達のソースコードですが、注意が必要なのは、私達がカプセル化したこのタイプは、私達のView.OnClikListenerのインターフェイスを呼び出す必要があります。
このように私達のクリック効果は全部完成しました。
最後に彼の実現方法を見ましょう。

ImageCategory.setOnClickListener(new ViewClickVibrate() {
 public void onClick(View v) {
  super.onClick(v);
  Global.Go(FinanceActivity.this, CategoryActivity.class);
 }
});
このような一つのクリック効果が完成しました。
補足知識:androidコントロールがディザリング効果を実現する
このプログラムの機能は実際の開発において、例えばButtonが左右に揺れたり、上下に揺れたりする効果があります。
まず、xmlファイルを定義します。名前はshakeです。

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
   android:fromXDelta="0" 
   android:toXDelta="100" 
   android:duration="1000" 
   android:interpolator="@anim/cycle_7" />
次にもう一つのxmlファイルを定義します。名前はcycle_です。7

<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" 
   android:cycles="2"  
   />
これらの2つのxmlファイルは、resフォルダの下にあるanimファイルの中に構築されます。animファイルがなければ、自分で作成することができます。
そして、新しいactivityコードを作成します。

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
 
public class MainActivity extends Activity {
  /** Called when the activity is first created. */
 
 
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
  
  
  public void go(View v){
   Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);//        
   findViewById(R.id.tv).startAnimation(shake); //         
  }
 
}
以下にメールを提供します

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" 
  android:gravity="center_horizontal|center_vertical"
  >
  <EditText 
    android:layout_width="fill_parent"
  android:layout_height="wrap_content"
    android:id="@+id/tv"
    android:text="wojiuahiswo"
    />
  
  <Button 
    android:layout_width="fill_parent"
  android:layout_height="wrap_content"
    android:text="go"
    android:onClick="go"
    />
 
 
</LinearLayout>
これにより、edit textコントロールのディザ効果が実現しました。ここでcycle_を説明します。7.xmlファイルのAndroid:cycles="2"はジッタの回数を設定したもので、2はジッタの回数です。sharke.xmlの中で
android:froomXDelta="0"
android:toXDelta=「100」
ジッタの範囲を制御するので、上のコードはx軸でジッタして、xをy軸に置き換えれば、y軸でジッタしてももちろんx,y軸で同時にジッタすることができます。
以上のAndroidはクリックイベントのために振動効果を加えることを実現しました。小編集は皆さんにすべての内容を共有しています。