玩小米有段时间了,发现还蛮好玩的。小米的手电筒UI蛮漂亮的,哥手贱,也仿了一个,纯属娱乐。
有图有码有真相:
代码简单到,我都不想解释了,直接上码吧。
/**
*
* @author scott
* @date 2012-3-30 上午11:14:59
* @description 高仿小米手电筒
*/
public class MainActivity extends Activity{
private View view;
private Camera camera;
private boolean isOpen = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏
requestWindowFeature(Window.FEATURE_NO_TITLE); //去掉标题栏
setContentView(R.layout.main);
init(); //初始化UI
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(!isOpen){
Toast.makeText(MainActivity.this, "打开了手电筒", 1);
view.setBackgroundResource(R.drawable.open); //改变背景图片
camera = Camera.open(); //打开照相机
Parameters params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH); //设置照相机参数,FLASH_MODE_TORCH 持续的亮灯,FLASH_MODE_ON 只闪一下
camera.setParameters(params);
camera.startPreview(); //开始亮灯
isOpen = true;
}else{
Toast.makeText(MainActivity.this, "打开了手电筒", Toast.LENGTH_LONG);
view.setBackgroundResource(R.drawable.off); //改变背景图片
camera.stopPreview(); //关掉亮灯
camera.release(); //关掉照相机
isOpen = false;
}
}
});
}
private void init(){
view = (View)findViewById(R.id.background);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){ //按back键的时候 释放照相机
if(camera != null){
camera.release();
finish();
}
}
return super.onKeyDown(keyCode, event);
}
}
源代码我放到CSDN去了,下载地址 :
http://download.csdn.net/detail/baolong47/4189977
得勒,也满足一下懒人,我把APK文件放到 安智市场上去,方便大家下载。PS:安智市场审核通过了,我在上地址。。。。