• 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
     * 
     * 原理:
     * 就是通过 点击button,
     *   当 点击button的时候   打开闪光灯。
     *   关闭 button的时候    关闭闪光灯
     * 
     * 
     * */
    
    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();  
        }  
    }


    效果图:




  • 相关阅读:
    时间戳计算
    .NET/C#/Oracle数据库操作类
    memcached安装及.NET中的Memcached.ClientLibrary使用
    C# Redis
    Jmeter教程 简单的压力测试
    Elasticsearch查询类型
    Windows 如何查看本地端口被进程占用的情况?
    Log4net 配置
    NLog 配置
    RPC原理
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4311886.html
Copyright © 2020-2023  润新知