Android應(yīng)用實(shí)現(xiàn)點(diǎn)擊按鈕震動(dòng)
本項(xiàng)目為大家分享了Android應(yīng)用實(shí)現(xiàn)點(diǎn)擊按鈕震動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
項(xiàng)目中需要實(shí)現(xiàn)點(diǎn)擊應(yīng)用中的按鈕,有震動(dòng)效果。震動(dòng)效果可以在設(shè)置中進(jìn)行關(guān)閉。
具體實(shí)現(xiàn)如下。
編寫震動(dòng)幫助類:VibrateHelp.java
import android.content.Context; import android.os.Vibrator; /** * 震動(dòng)幫助類 * androidManifest.xml中加入 以下權(quán)限 * <uses-permission android:name="android.permission.VIBRATE" /> */ public class VibrateHelp { private static Vibrator vibrator; /** * 簡單震動(dòng) * @param context 調(diào)用震動(dòng)的Context * @param millisecond 震動(dòng)的時(shí)間,毫秒 */ @SuppressWarnings("static-access") public static void vSimple(Context context, int millisecond) { vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE); vibrator.vibrate(millisecond); } /** * 復(fù)雜的震動(dòng) * @param context 調(diào)用震動(dòng)的Context * @param pattern 震動(dòng)形式 * @param repeate 震動(dòng)的次數(shù),-1不重復(fù),非-1為從pattern的指定下標(biāo)開始重復(fù) */ @SuppressWarnings("static-access") public static void vComplicated(Context context, long[] pattern, int repeate) { vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE); vibrator.vibrate(pattern, repeate); } /** * 停止震動(dòng) */ public static void stop() { if (vibrator != null) { vibrator.cancel(); } } }
下面自定義實(shí)現(xiàn)按鈕單擊震動(dòng)類:ViewClickVibrate.java
import android.view.View; import android.view.View.OnClickListener; public class ViewClickVibrate implements OnClickListener{ /** 按鈕震動(dòng)時(shí)間 */ private final int VIBRATE_TIME = 60; @Override public void onClick(View v) { // TODO 根據(jù)設(shè)置中的標(biāo)記判斷是否執(zhí)行震動(dòng) VibrateHelp.vSimple(v.getContext(), VIBRATE_TIME); } }
最后,在給按鈕設(shè)置監(jiān)聽時(shí),使用類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; } }
也可以自定義其他控件的單擊事件,實(shí)現(xiàn)單擊震動(dòng)效果,類似上面改之即可。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android利用EditText如何實(shí)現(xiàn)搜索框詳解
EditText 在開發(fā)中也是經(jīng)常用到的控件,也是一個(gè)比較必要的組件,下面這篇文章主要給大家介紹了關(guān)于Android利用EditText如何實(shí)現(xiàn)搜索框的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07Android中控件GridView實(shí)現(xiàn)設(shè)置行列分割線的方法示例
這篇文章主要介紹了利用Android中控件GridView實(shí)現(xiàn)設(shè)置行列分割線的方法,文中給出了詳細(xì)的介紹與示例代碼,相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來一起看看吧。2017-01-01Flutter開發(fā)之動(dòng)態(tài)權(quán)限的使用
眾所周知,Android在6.0版本后將權(quán)限修改成了動(dòng)態(tài)權(quán)限,而iOS則一直使用的是動(dòng)態(tài)權(quán)限,所以在Flutter應(yīng)用開發(fā)中如果涉及到一些危險(xiǎn)權(quán)限,就需要進(jìn)行動(dòng)態(tài)申請(qǐng),本文就詳細(xì)的介紹一下,感興趣的可以了解一下2021-09-09Flutter倒計(jì)時(shí)/計(jì)時(shí)器的實(shí)現(xiàn)代碼
這篇文章主要介紹了Flutter倒計(jì)時(shí)/計(jì)時(shí)器的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Android 6.0調(diào)用相機(jī)圖冊(cè)崩潰的完美解決方案
這篇文章主要介紹了Android 6.0調(diào)用相機(jī)圖冊(cè)崩潰的完美解決方案,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問題的解決
這篇文章主要介紹了Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問題的解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11Android自定義View模仿即刻點(diǎn)贊數(shù)字切換效果實(shí)例
有一個(gè)項(xiàng)目是仿即刻的點(diǎn)贊,這篇文章主要給大家介紹了關(guān)于Android自定義View模仿即刻點(diǎn)贊數(shù)字切換效果的相關(guān)資料,文中通過示例代碼介紹 的非常詳細(xì),需要的朋友可以參考下2022-12-12