import android.app.Activity;import android.graphics.Point;import android.graphics.SurfaceTexture;import android.graphics.drawable.TransitionDrawable;import android.hardware.Camera;import android.os.Bundle;import android.view.View;手电筒源码import android.view.ViewGroup;import android.widget.ImageView;public class MainActivity extends Activity{ protected ImageView mImageViewflashlight; protected ImageView mImageViewflashlightcontrol;//热点,点击热点开启闪光灯 protected Camera mCamera; protected Camera.Parameters mParameters; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_light); mImageViewflashlight = (ImageView) findViewById(R.id.image_flashlight); mImageViewflashlightcontrol = (ImageView) findViewById(R.id.image_flashlight_control); Point point = new Point(); getWindowManager().getDefaultDisplay().getSize(point); ViewGroup.LayoutParams layoutParams =mImageViewflashlightcontrol.getLayoutParams(); mImageViewflashlightcontrol.setTag(false); layoutParams.height=point.y*1/6;//设置热点的位置 layoutParams.width=point.x*1/3;// mImageViewflashlightcontrol.setLayoutParams(layoutParams); mImageViewflashlightcontrol.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(false == (Boolean) mImageViewflashlightcontrol.getTag()) { openLight(); } else if (true == (Boolean) mImageViewflashlightcontrol.getTag()){ closeLight(); } } }); } protected void openLight(){//打开闪光灯的方法 TransitionDrawable drawable = (TransitionDrawable) mImageViewflashlight.getDrawable();//实现两张图片循环的淡入淡出变换的效果 drawable.startTransition(); mImageViewflashlightcontrol.setTag(true); try { mCamera = Camera.open(); mParameters = mCamera.getParameters(); mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); mCamera.setParameters(mParameters); }catch (Exception e) { } } protected void closeLight() {//关闭闪光的方法 TransitionDrawable drawable = (TransitionDrawable) mImageViewflashlight.getDrawable(); //实现淡入淡出效果 if ((Boolean) mImageViewflashlightcontrol.getTag()) { drawable.reverseTransition(); mImageViewflashlightcontrol.setTag(false); if(mCamera!=null) { mParameters = mCamera.getParameters(); mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); mCamera.setParameters(mParameters); mCamera.stopPreview(); mCamera.release(); mCamera = null; } } } @Override protected void onPause() { //当程序暂停后关闭闪光灯 super.onPause(); closeLight(); }
推荐整理分享[置顶]
安卓手电筒小程序,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
![[置顶]
安卓手电筒小程序](https://www.jiuchutong.com/image/20240129/1706507659.jpg)
}
Android 开发中的零散知识点 byZhou-5-~===================================================================================(Android中的很多系统属性都可以在system/build.prop文件中修改)1、屏幕旋转角度
android解压带密码的zip包 网上找到的资料,还没试过,谁要是试了回复下吧。原文出自:
Android中的轮播图 刚忙完了公司的项目,总算有些时间了,所以自己模仿公司的项目做了一些小demo,以后用。轮播图的效果,在Android的项目当中是比较常见的,其实现原