一起学android之如何以最简单方式开启闪光灯(35)

来源:互联网 发布:java heap space原因 编辑:程序博客网 时间:2024/06/03 16:48

我们以360手机助手中有一款叫“最美手电筒”,效果图:

                              

通过图中手电筒的开关来开启或关闭闪光灯,OK,以下是实现此功能的代码:

public class MainActivity extends Activity implements OnClickListener {private ImageView iv_off_on;private ImageView iv_light;private Parameters parameter = null;private Camera camera = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);initView();initListener();}private void initListener() {iv_off_on.setOnClickListener(this);}private void initView() {iv_off_on = (ImageView) findViewById(R.id.iv_off_on);iv_light = (ImageView) findViewById(R.id.iv_light);iv_light.setVisibility(View.INVISIBLE);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.iv_off_on:if (iv_off_on.isSelected()) {// 关闭iv_off_on.setSelected(false);iv_light.setVisibility(View.INVISIBLE);parameter.setFlashMode(Parameters.FLASH_MODE_OFF);camera.setParameters(parameter);camera.release();} else {// 开启iv_off_on.setSelected(true);iv_light.setVisibility(View.VISIBLE);camera = Camera.open();camera.startPreview();parameter = camera.getParameters();parameter.setFlashMode(Parameters.FLASH_MODE_TORCH);camera.setParameters(parameter);}break;default:break;}}}


最后在AndroidManifest.xml中添加相应的权限:

<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.autofocus" />


转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/45504303 情绪控_

0 0