Android振動(dòng)器使用方法詳解
本文實(shí)例為大家分享了Android振動(dòng)器使用方法的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:
選擇相應(yīng)的毫秒數(shù),就會(huì)振動(dòng)相應(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" > <LinearLayout android: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="振動(dòng)時(shí)長(zhǎng):" android:textSize="15sp" android:textColor="@color/black" android:paddingLeft="5dp" /> <Spinner android:id="@+id/spinner" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="3" android:paddingTop="5dp" android:spinnerMode="dialog" /> </LinearLayout> <Button android:id="@+id/btn_start" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="開(kāi)始振動(dòng)" android:textColor="@color/black" android:textSize="20sp" /> <TextView android:id="@+id/tv_specific" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:gravity="center" android:text="當(dāng)前振動(dòng)了多長(zhǎng)時(shí)間" /> </LinearLayout>
之后繪制,下拉列表,每一列的高度和每一列中字體的顏色和太小等屬性在這里面設(shè)置
item_select.xml布局如下:
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="60dp" android:gravity="center" android:textColor="@color/black" android:textSize="20sp" />
之后在VibratorActivity中實(shí)現(xiàn)振動(dòng)功能:
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("請(qǐng)選擇毫秒數(shù)"); //將適配器與下拉列表框關(guān)聯(lián)起來(lái) 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ù)中獲取振動(dòng)管理器 vibrator = (Vibrator) getSystemService(vibratorService); //判斷設(shè)置是否包含振動(dòng)器 if (vibrator.hasVibrator()) { //振動(dòng)的秒數(shù) vibrator.vibrate(mDuration); String desc = String.format("%s手機(jī)振動(dòng)了%f秒", DateUtil.getNowTimeDetail(), mDuration / 1000.0F); tv_specific.setText(desc); } } //應(yīng)用退出,則取消振動(dòng) @Override protected void onDestroy() { super.onDestroy(); vibrator.cancel(); } }
最后不要忘了在AndroidManifest.xml清單文件中加入控制設(shè)備振動(dòng)的權(quán)限:
<!-- 振動(dòng)權(quán)限 --> <uses-permission android:name="android.permission.VIBRATE" />
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android如何在App中啟動(dòng)系統(tǒng)鬧鐘
這篇文章主要為大家詳細(xì)介紹了Android如何在App中啟動(dòng)系統(tǒng)鬧鐘,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Android實(shí)現(xiàn)定時(shí)自動(dòng)靜音小助手
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)定時(shí)自動(dòng)靜音小助手,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Flutter實(shí)現(xiàn)倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了Flutter實(shí)現(xiàn)倒計(jì)時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Android實(shí)現(xiàn)EditText圖文混合插入上傳功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)EditText圖文混合插入上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08android+json+php+mysql實(shí)現(xiàn)用戶反饋功能方法解析
相信每個(gè)項(xiàng)目都會(huì)有用戶反饋建議等功能,這個(gè)實(shí)現(xiàn)的方法很多,下面是我實(shí)現(xiàn)的方法,供大家交流2012-11-11