Android 手电筒应用





5.00/5 (1投票)
这是一个使用 Android 构建的手电筒应用程序的演示。
引言
在本文中,我旨在以尽可能简单的方式演示 Android 手电筒应用程序的创建。 代码简单易懂,即使是初学者也能理解。
背景
该应用程序的界面由一个 ImageButton
控件组成,其图像会切换以表示打开和关闭状态。 以下是布局代码 (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context="com.example.azim.mytorch.MainActivity">
<ImageButton android:id="@+id/btnOnOff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/start" />
</LinearLayout>
以下行需要在 AndroidManifest.xml 文件中才能启用应用程序中使用摄像头的功能。
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.Camera"/>
Using the Code
可以创建以下函数来检查我们的设备是否支持相机闪光灯功能
private boolean isFlashSupported()
{
return getApplicationContext().getPackageManager().hasSystemFeature
(PackageManager.FEATURE_CAMERA_FLASH);
}
以下是 ImageButton
的 onClick()
方法的代码
public void onClick(View view)
{
if(isFlashSupported())
{
if(!isOn)
{
camera=Camera.open();
params=camera.getParameters();
params.setFlashMode(params.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
btnOnOff.setImageResource(R.drawable.stop);
Toast.makeText(getBaseContext(),"Torch turned on",Toast.LENGTH_SHORT).show();
}
else
{
params=camera.getParameters();
params.setFlashMode(params.FLASH_MODE_OFF);
camera.setParameters(params);
camera.stopPreview();
camera.release();
camera=null;
btnOnOff.setImageResource(R.drawable.start);
Toast.makeText(getBaseContext(),"Torch turned off",Toast.LENGTH_SHORT).show();
}
isOn=!isOn;
}
else
{
Toast.makeText(getBaseContext(),"Sorry your device does not support flash light",
Toast.LENGTH_SHORT).show();
}
}
以上代码使用一个 boolean
变量 isOn
来检查相机的当前状态。 Camera.Parameters
类的 setFlashMode()
方法用于更改相机状态。 ImageButton
类的 setImageResource()
方法用于更改按钮上的图像。
关注点
我希望这篇文章能帮助您理解 Android 手电筒应用程序的工作原理。