Android开发----------- 手电筒改进版本

在之前的基础上

在 res 文件夹下面: 添加一个 drawable/local_me.xml

localme_cml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"
        android:drawable="@drawable/on" /> <!-- pressed -->
    <item android:drawable="@drawable/off" /> <!-- default/unchecked -->
</selector>

主程序:

package com.example.handlightactivity;

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.os.Process;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.ToggleButton;  

/**
 *
 * @author love
 *
 * 原理:
 * 就是通过 点击按钮,
 *   当 点击按钮的时候   打开闪光灯。
 *   关闭 按钮的时候    关闭闪光灯
 *
 *
 * */

public class MainActivity extends Activity implements OnClickListener {  

    private ToggleButton toggleButton;  

    private Camera camera = Camera.open();
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);  

        toggleButton = (ToggleButton) this.findViewById(R.id.toggleButton1);
        toggleButton.setOnClickListener(this);  

        //保持屏幕
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }  

    @Override
    public void onClick(View v) {
        ToggleButton tb = (ToggleButton) v;
        Camera.Parameters param = camera.getParameters();
        if(!tb.isChecked()){
//        	open the  camera flash!
            param.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
            toggleButton.setBackgroundColor(0x30ffffff);
//          on open on.jpg
            tb.setBackgroundDrawable(getResources().getDrawable(R.drawable.on));
        }else{
            param.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
            toggleButton.setBackgroundColor(0xffffffff);
//           off  open the off.jpg
            tb.setBackgroundDrawable(getResources().getDrawable(R.drawable.off));
        }
        camera.setParameters(param);
    }  

    @Override
    protected void onPause() {
//      camera.release();
//      Process.killProcess(Process.myPid());
        super.onPause();
    }
}

效果图:

Android开发----------- 手电筒改进版本,布布扣,bubuko.com

时间: 2024-10-29 19:06:33

Android开发----------- 手电筒改进版本的相关文章

项目开发小计 &lt;一&gt; android开发小坑, 版本兼容

1, nosuchmethod 低版本会调用不到里面得方法首先是:   this.setBackgroundDrawable(); 这个是过期方法, 但是还是建议使用它, 因为在android 2.3 后 如果你尝试使用新得api this.setBackground();这个的话, 那么好吧,等着奔溃吧 其次是:  ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(null, 0);        array

win7下android 开发环境搭建

第一步:准备JDK最小版本1.5 第二部:准备环境所需要的安装介质Eclipse ,ADT和windows平台下的SDK. 等待安装JDK和eclipse完成后,在eclipse中选择Help->Install New Software 安装ATD插件.注意ATD的版本太低不能与SDK兼容 点击Add根据自己的喜好取名再点击Archive 点击OK 点击Next Finish 完成安装后重新启动eclipse 如果出现下图图标这表明安装ADT成功. 安装windows环境下的SDK ,解压 运行

条码扫描二维码扫描—ZXing android 改进版本

看了Vurtexゞ. 文章<[Android实例] 条码扫描二维码扫描——ZXing android 源码简化 (附:支持中文) >的基础上对代码进行了修改 1.增加了将代码嵌套入自己工程后传值的办法(初学,如果有更好的方法也希望告诉我,先谢谢了) 2.扫码界面进行了处理(初步实现了现有某些软件的样子,至于长的像谁就不说了) //画四个角的代码<br>paint.setColor(frameColor); canvas.drawRect(15 + frame.left, 15 +

【转】Android开发学习总结(一)——搭建最新版本的Android开发环境

最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1,学习Android开发的第一步就是搭建Android的开发环境,博客园里面有不少人也写了关于如何搭建Android开发环境的文章,我也看了一下,但是感觉都比较旧了,对照着做不一定能够搭建成功,但是有些搭建步骤是还是可

Android开发——web浏览器开发(1) 版本1.0

1,建立一个新的项目 webdemo 2,layout下activity_main设计界面(1)待优化 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layo

Android开发学习总结(一)——搭建最新版本的Android开发环境【转】

最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1,学习Android开发的第一步就是搭建Android的开发环境,博客园里面有不少人也写了关于如何搭建Android开发环境的文章,我也看了一下,但是感觉都比较旧了,对照着做不一定能够搭建成功,但是有些搭建步骤是还是可

OK335xS Ubuntu 12.04.1 版本 Android 开发环境搭建

/******************************************************************************************** * OK335xS Ubuntu 12.04.1 版本 Android 开发环境搭建 * * 声明: * 1. 本人用的虚拟机是 VMware 10.0.5 64位: * 2. 本人测试过 Ubuntu 12.04.2.Ubuntu 12.04.4,.Ubuntu 14.04 版本,出现一些问题: * 1. U

android开发资源网站,下载各版本SDK源码、Android Studio、NDK等

http://www.androiddevtools.cn/ AndroidDevTools简介 Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具.学习开发教程.用到设计素材,欢迎Star.Fork . 如果你对翻译英文的Android开发技术文章感兴趣,欢

使用Android Studio 1.3 版本进行NDK开发

众所周知Android Studio 1.3 版本新增了NDK支持,能够很方便的在上面开发C++或者C代码了,可是预览版功能不是非常完善,需要很多步骤,还有一些奇怪的BUG,整了半天终于可以使用Android Studio完美进行NDK开发了.先看下效果图: 方法: 一.首先将Android Studio更新到1.3版本: 1.检查Android Studio更新. 有些人可能会遇到问题:自己版本低于1.3检查更新却提示已经是最新版本? 那是因为更新渠道不是Beta渠道,需要先将渠道设置为Bet