Android如何实现闪光灯效果
这篇文章主要介绍Android如何实现闪光灯效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联-专业网站定制、快速模板网站建设、高性价比夏河网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式夏河网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖夏河地区。费用合理售后完善,10余年实体公司更值得信赖。
具体内容如下
一、声明闪光灯的权限
注意: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界面很简单,四个按钮:
以上是“Android如何实现闪光灯效果”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
名称栏目:Android如何实现闪光灯效果
分享链接:http://scyanting.com/article/gdpsei.html