Android振動器使用方法詳解
本文實(shí)例為大家分享了Android振動器使用方法的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:

選擇相應(yīng)的毫秒數(shù),就會振動相應(yīng)的秒數(shù)。
實(shí)現(xiàn)步驟:一、創(chuàng)建activity_vibrator.xml布局
<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.VibratorActivity' android:orientation='vertical' > <LinearLayoutandroid:layout_width='match_parent'android:layout_height='wrap_content'android:orientation='horizontal'><TextView android:layout_width='0dp' android:layout_height='wrap_content' android:layout_weight='1' android:text='振動時(shí)長:' android:textSize='15sp' android:textColor='@color/black' android:paddingLeft='5dp' /><Spinner android: android:layout_width='0dp' android:layout_height='wrap_content' android:layout_weight='3' android:paddingTop='5dp' android:spinnerMode='dialog' /> </LinearLayout> <Buttonandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:text='開始振動'android:textColor='@color/black'android:textSize='20sp'/> <TextViewandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:textSize='20sp'android:gravity='center'android:text='當(dāng)前振動了多長時(shí)間'/></LinearLayout>
之后繪制,下拉列表,每一列的高度和每一列中字體的顏色和太小等屬性在這里面設(shè)置
item_select.xml布局如下:
<TextView xmlns:android='http://schemas.android.com/apk/res/android' android: android:layout_width='match_parent' android:layout_height='60dp' android:gravity='center' android:textColor='@color/black' android:textSize='20sp' />
之后在VibratorActivity中實(shí)現(xiàn)振動功能:
public class VibratorActivity extends AppCompatActivity implements View.OnClickListener { private Spinner spinner; private TextView tv_specific; private Button btn_start; private ArrayAdapter<String> arrayAdapter; private String second; private Vibrator vibrator; private int mDuration; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_vibrator);spinner = findViewById(R.id.spinner);tv_specific = findViewById(R.id.tv_specific);btn_start = findViewById(R.id.btn_start);//設(shè)置下拉框CreateSpinner();btn_start.setOnClickListener(this); } private void CreateSpinner() {String[] array = new String[]{'0.5秒', '1秒', '2秒', '3秒', '4秒', '5秒'};int[] durationArray = new int[]{500, 1000, 2000, 3000, 4000, 5000};//設(shè)置我們自定義的資源樣式arrayAdapter = new ArrayAdapter<>(this, R.layout.item_select, array);spinner.setPrompt('請選擇毫秒數(shù)');//將適配器與下拉列表框關(guān)聯(lián)起來spinner.setAdapter(arrayAdapter);spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {mDuration = durationArray[position]; } @Override public void onNothingSelected(AdapterView<?> parent) { }}); } @Override public void onClick(View v) {String vibratorService = Context.VIBRATOR_SERVICE;//從系統(tǒng)服務(wù)中獲取振動管理器vibrator = (Vibrator) getSystemService(vibratorService);//判斷設(shè)置是否包含振動器if (vibrator.hasVibrator()) { //振動的秒數(shù) vibrator.vibrate(mDuration); String desc = String.format('%s手機(jī)振動了%f秒', DateUtil.getNowTimeDetail(), mDuration / 1000.0F); tv_specific.setText(desc);} } //應(yīng)用退出,則取消振動 @Override protected void onDestroy() {super.onDestroy();vibrator.cancel(); }}
最后不要忘了在AndroidManifest.xml清單文件中加入控制設(shè)備振動的權(quán)限:
<!-- 振動權(quán)限 --><uses-permission android:name='android.permission.VIBRATE' />
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. IntelliJ IDEA調(diào)整字體大小的方法2. 使用 kind 和 Docker 啟動本地的 Kubernetes環(huán)境3. PHP大文件分割分片上傳實(shí)現(xiàn)代碼4. Docker容器如何更新打包并上傳到阿里云5. Docker 容器健康檢查機(jī)制6. IntelliJ IDEA導(dǎo)入jar包的方法7. idea環(huán)境下Maven無法正常下載pom中配置的包問題8. python在CMD界面讀取excel所有數(shù)據(jù)的示例9. 淺談JavaScript宏任務(wù)和微任務(wù)執(zhí)行順序10. vue+elementUI下拉框回顯問題及解決方式

網(wǎng)公網(wǎng)安備