激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Android - Android實(shí)現(xiàn)閃光燈效果

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

2022-03-09 15:17諸葛佩奇 Android

這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)閃光燈效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

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

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

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

二、具體的代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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實(shí)現(xiàn)閃光燈效果

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/fengyeNom1/article/details/80911545

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美国产一级片 | 国产精品久久久久久久亚洲按摩 | 欧美成人免费看 | 一级一级一级一级毛片 | 久久精品亚洲一区 | 亚洲人成中文字幕在线观看 | 欧美精品18 | 久久久久久亚洲国产精品 | 欧美一级毛片一级毛片 | 爱看久久 | 日日天日日夜日日摸 | 91看片在线看 | 久久久噜噜噜久久熟有声小说 | 97zyz成人免费视频 | 国产一区二区三区撒尿在线 | 免费一级特黄毛片视频 | 国内自拍网址 | 激情大乳女做爰办公室韩国 | 视频一区二区中文字幕 | 久久99精品国产自在现线 | 国产精品久久久久久久久久久久久久久 | 国内精品久久久久久久星辰影视 | 成人小视频在线播放 | 日韩精品中文字幕一区二区 | 全黄裸片武则天一级第4季 九色p | 亚洲免费看片网站 | 在线成人一区 | 欧美一级毛片大片免费播放 | 国产精品久久久久久久久久iiiii | 黄色片网站免费 | 美女在线视频一区二区 | 91高清视频在线免费观看 | 91成人影库 | 在线成人av | 91精品久久香蕉国产线看观看 | xxxx18韩国护士hd老师 | 国产亚洲精品视频中文字幕 | 视频一区二区视频 | 久久久久北条麻妃免费看 | 国产a级片电影 | 国产精品亚洲精品日韩已方 |