Android應用實現(xiàn)點擊按鈕震動
本項目為大家分享了Android應用實現(xiàn)點擊按鈕震動的具體代碼,供大家參考,具體內(nèi)容如下
項目中需要實現(xiàn)點擊應用中的按鈕,有震動效果。震動效果可以在設置中進行關閉。
具體實現(xiàn)如下。
編寫震動幫助類:VibrateHelp.java
import android.content.Context;
import android.os.Vibrator;
/**
* 震動幫助類
* androidManifest.xml中加入 以下權限
* <uses-permission android:name="android.permission.VIBRATE" />
*/
public class VibrateHelp {
private static Vibrator vibrator;
/**
* 簡單震動
* @param context 調(diào)用震動的Context
* @param millisecond 震動的時間,毫秒
*/
@SuppressWarnings("static-access")
public static void vSimple(Context context, int millisecond) {
vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
vibrator.vibrate(millisecond);
}
/**
* 復雜的震動
* @param context 調(diào)用震動的Context
* @param pattern 震動形式
* @param repeate 震動的次數(shù),-1不重復,非-1為從pattern的指定下標開始重復
*/
@SuppressWarnings("static-access")
public static void vComplicated(Context context, long[] pattern, int repeate) {
vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern, repeate);
}
/**
* 停止震動
*/
public static void stop() {
if (vibrator != null) {
vibrator.cancel();
}
}
}
下面自定義實現(xiàn)按鈕單擊震動類:ViewClickVibrate.java
import android.view.View;
import android.view.View.OnClickListener;
public class ViewClickVibrate implements OnClickListener{
/** 按鈕震動時間 */
private final int VIBRATE_TIME = 60;
@Override
public void onClick(View v) {
// TODO 根據(jù)設置中的標記判斷是否執(zhí)行震動
VibrateHelp.vSimple(v.getContext(), VIBRATE_TIME);
}
}
最后,在給按鈕設置監(jiān)聽時,使用類ViewClickVibrate,如下所示:MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
Button btn1;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new ViewClickVibrate() {
public void onClick(View v) {
super.onClick(v);
// TODO
}
});
btn2.setOnClickListener(new ViewClickVibrate() {
public void onClick(View v) {
super.onClick(v);
// TODO
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
也可以自定義其他控件的單擊事件,實現(xiàn)單擊震動效果,類似上面改之即可。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android利用EditText如何實現(xiàn)搜索框詳解
EditText 在開發(fā)中也是經(jīng)常用到的控件,也是一個比較必要的組件,下面這篇文章主要給大家介紹了關于Android利用EditText如何實現(xiàn)搜索框的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-07-07
Android中控件GridView實現(xiàn)設置行列分割線的方法示例
這篇文章主要介紹了利用Android中控件GridView實現(xiàn)設置行列分割線的方法,文中給出了詳細的介紹與示例代碼,相信對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。2017-01-01
Android 6.0調(diào)用相機圖冊崩潰的完美解決方案
這篇文章主要介紹了Android 6.0調(diào)用相機圖冊崩潰的完美解決方案,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
Android中利用NetworkInfo判斷網(wǎng)絡狀態(tài)時出現(xiàn)空指針(NullPointerException)問題的解決
這篇文章主要介紹了Android中利用NetworkInfo判斷網(wǎng)絡狀態(tài)時出現(xiàn)空指針(NullPointerException)問題的解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11
Android自定義View模仿即刻點贊數(shù)字切換效果實例
有一個項目是仿即刻的點贊,這篇文章主要給大家介紹了關于Android自定義View模仿即刻點贊數(shù)字切換效果的相關資料,文中通過示例代碼介紹 的非常詳細,需要的朋友可以參考下2022-12-12

