国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現閃光燈效果

2019-12-12 00:44:44
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android實現閃光燈效果的具體代碼,供大家參考,具體內容如下

一、聲明閃光燈的權限

<uses-permission android:name="android.permission.CAMERA"/><uses-permission android:name="android.permission.FLASHLIGHT" />

注意:Camera權限6.0以上需要動態申請權限

二、具體的代碼如下

package com.google.yang.myapplication; import android.hardware.Camera;import android.hardware.Camera.Parameters;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button; /** * 閃光燈的控制 * * @author yang */public class MainActivity extends AppCompatActivity {   private Button open;  private Button close;  private Button openFlicker;  private Button closeFlicker;  private Camera camera;  private Boolean isShanshuo;   @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);     open = (Button) this.findViewById(R.id.open);    close = (Button) this.findViewById(R.id.close);    openFlicker = (Button) findViewById(R.id.openFlicker);    closeFlicker = (Button) findViewById(R.id.closeFlicker);     open.setOnClickListener(openOnClickListener);    close.setOnClickListener(closeOnClickListener);    openFlicker.setOnClickListener(openFlickerOnClickListener);    closeFlicker.setOnClickListener(closeFlickerOnClickListener);  }   /**   * 打開手電筒   */  private OnClickListener openOnClickListener = new OnClickListener() {    @Override    public void onClick(View v) {      open();    }  };   /**   * 關閉手電筒   */  private OnClickListener closeOnClickListener = new OnClickListener() {    @Override    public void onClick(View v) {      close();    }  };   /**   * 開啟閃爍   */  private OnClickListener openFlickerOnClickListener = new OnClickListener() {    @Override    public void onClick(View v) {      isShanshuo = true;      openFlicker.setEnabled(false);      new Thread(new Runnable() {        @Override        public void run() {          while (isShanshuo) {            open();            try {              Thread.sleep(300);            } catch (InterruptedException e) {              e.printStackTrace();            }            close();            try {              Thread.sleep(300);            } catch (InterruptedException e) {              e.printStackTrace();            }          }        }      }).start();    }  };   /**   * 關閉閃爍   */  private OnClickListener closeFlickerOnClickListener = new OnClickListener() {    @Override    public void onClick(View v) {      isShanshuo = false;      openFlicker.setEnabled(true);    }  };  /**   * 打開閃光燈   *   * @return   */  private void open() {    try {      camera = Camera.open();      camera.startPreview();      Parameters parameters = camera.getParameters();      parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);      camera.setParameters(parameters);    } catch (Exception e) {      e.printStackTrace();    }  }  /**   * 關閉閃光燈   *   * @return   */  private void close() {    try {      Parameters parameters = camera.getParameters();      parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);      camera.setParameters(parameters);      camera.release();      camera = null;    } catch (Exception e) {      e.printStackTrace();    }  } }

XML界面很簡單,四個按鈕:

有興趣的可以試一試,當作一個小工具收藏一下。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景泰县| 周口市| 霸州市| 阆中市| 娄底市| 松江区| 和政县| 临海市| 青川县| 彰化县| 馆陶县| 铜陵市| 绥化市| 潜山县| 隆林| 宁德市| 浮梁县| 辽宁省| 承德市| 台北县| 栾川县| 嘉定区| 剑河县| 滕州市| 大庆市| 那曲县| 镇平县| 神池县| 隆回县| 迁西县| 莫力| 大厂| 疏勒县| 逊克县| 怀远县| 静乐县| 盐亭县| 乐安县| 七台河市| 乌鲁木齐市| 会昌县|