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

首頁 > 系統(tǒng) > Android > 正文

Android實(shí)現(xiàn)閃光燈效果

2019-10-21 21:48:08
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了Android實(shí)現(xiàn)閃光燈效果的具體代碼,供大家參考,具體內(nèi)容如下

一、聲明閃光燈的權(quán)限

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

注意:Camera權(quán)限6.0以上需要?jiǎng)討B(tài)申請(qǐng)權(quán)限

二、具體的代碼如下

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();    }  };   /**   * 關(guān)閉手電筒   */  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();    }  };   /**   * 關(guān)閉閃爍   */  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();    }  }  /**   * 關(guān)閉閃光燈   *   * @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界面很簡單,四個(gè)按鈕:

Android,閃光燈

有興趣的可以試一試,當(dāng)作一個(gè)小工具收藏一下。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹江口市| 柳江县| 手游| 星座| 郁南县| 诏安县| 永康市| 榕江县| 卢龙县| 沙田区| 忻城县| 克东县| 沁阳市| 临汾市| 农安县| 河曲县| 高尔夫| 延川县| 肃宁县| 北宁市| 和平县| 偏关县| 肇东市| 柳州市| 巩义市| 蒙自县| 永丰县| 广西| 安庆市| 塔河县| 色达县| 山西省| 堆龙德庆县| 卢湾区| 乃东县| 桓仁| 广昌县| 霍邱县| 咸丰县| 定安县| 桐梓县|