注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

android之简单手电筒  

2013-09-04 22:21:14|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有时间弄个小电筒来学习,该小项目比较简单,但个人觉得该小项目可以学到很多知识,希望对大家用,如果有什么好的android教程,请分享谢谢

java源码:

 

  1. package color.test;  
  2.   
  3.   
  4. import android.app.Activity;  
  5. import android.app.AlertDialog;  
  6. import android.content.DialogInterface;  
  7. import android.content.res.Resources;  
  8. import android.graphics.drawable.Drawable;  
  9. import android.os.Bundle;  
  10. import android.view.Menu;  
  11. import android.view.MenuItem;  
  12. import android.view.MotionEvent;  
  13. import android.view.Window;  
  14. import android.view.WindowManager;  
  15. import android.widget.LinearLayout;  
  16. import android.widget.Toast;  
  17.   
  18. public class ColorTestActivity extends Activity {  
  19.         
  20.         private LinearLayout mylayout;//布局对象  
  21.         private Resources myColor;//资源对对象  
  22.         int li;  
  23.         public void onCreate(Bundle savedInstanceState) {  
  24.             super.onCreate(savedInstanceState);  
  25.             //设置界面为全屏  
  26.             SetStatusWindows();  
  27.             setContentView(R.layout.main);  
  28.               
  29.             //获取实例  
  30.             mylayout = (LinearLayout)findViewById(R.id.mylayout);  
  31.            SetColor(R.color.white);  
  32.            //改变屏幕亮度  
  33.             li=0;  
  34.             SetBright(1.0f);  
  35.         }  
  36.           
  37.         /**  
  38.          * 捕抓事件  
  39.          */  
  40.         public boolean onOptionsItemSelected(MenuItem item) {  
  41.               
  42.             switch(item.getItemId())  
  43.             {  
  44.             case R.id.about:  
  45.                 about();  
  46.                 return true;  
  47.             case R.id.setcolor:  
  48.                 selectColor();  
  49.                 return true;  
  50.             case R.id.setbright:  
  51.                 selectBright();  
  52.                 return true;  
  53.             case R.id.seteffer:  
  54.                 finish();  
  55.                 return true;  
  56.             }  
  57.             return super.onOptionsItemSelected(item);  
  58.         }  
  59.   
  60.         /**  
  61.          * 设置亮度  
  62.          */  
  63.         private void selectBright() {  
  64.             final String[] items ={"100%","75%","50%","25%","10%"};  
  65.             new AlertDialog.Builder(this)  
  66.             .setTitle("选择亮度")  
  67.             .setSingleChoiceItems(items, li, new DialogInterface.OnClickListener() {  
  68.                 ///此处数字为选项的下标,从0开始, 表示默认哪项被选中   
  69.                 public void onClick(DialogInterface dialog, int item) {  
  70.                       
  71.                     Toast.makeText(getApplicationContext(),items[item],Toast.LENGTH_LONG).show();  
  72.                     li = item;  
  73.                     switch(li){  
  74.                     case 0:  
  75.                         SetBright(1.0F);  
  76.                         break;  
  77.                     case 1:  
  78.                         SetBright(0.75F);  
  79.                         break;  
  80.                     case 2:  
  81.                         SetBright(0.5F);  
  82.                         break;  
  83.                     case 3:  
  84.                         SetBright(0.25F);  
  85.                         break;  
  86.                     case 4:  
  87.                         SetBright(0.1F);  
  88.                         default:  
  89.                             SetBright(1.0F);  
  90.                             break;                    
  91.                     }         
  92.                     dialog.cancel();  
  93.                 }  
  94.             }).show();  
  95.               
  96.         }  
  97.            /**  
  98.             * 设置亮度  
  99.             * @param light  
  100.             */  
  101.             private void SetBright(float light)  
  102.             {  
  103.                 WindowManager.LayoutParams lp=getWindow().getAttributes();  
  104.                 lp.screenBrightness=light;  
  105.                 getWindow().setAttributes(lp);  
  106.                   
  107.             }  
  108.   
  109.   
  110.         /**  
  111.          * 设置颜色  
  112.          */  
  113.        private void selectColor() {  
  114.             final String[] items ={"白色","红色","黑色","黄色","粉色"};  
  115.             new AlertDialog.Builder(this)  
  116.             .setTitle("选择背景颜色")  
  117.             .setItems(items, new DialogInterface.OnClickListener() {  
  118.                 /**  
  119.                  * getApplicationContext() 得到的也是当前的Activity对象  
  120.                  * 可用当前Activity对象的名字.this代替(Activity.this)   
  121.                  */  
  122.                 public void onClick(DialogInterface dialog, int item) {  
  123.                     Toast.makeText(getApplicationContext(),items[item],Toast.LENGTH_LONG).show();  
  124.                     switch(item)  
  125.                     {  
  126.                     case 0:  
  127.                         SetColor(R.color.white);  
  128.                         break;  
  129.                     case 1:  
  130.                     SetColor(R.color.red);  
  131.                         break;  
  132.                     case 2:  
  133.                         SetColor(R.color.black);  
  134.                         break;  
  135.                     case 3:  
  136.                         SetColor(R.color.yellow);  
  137.                         break;  
  138.                     case 4:  
  139.                         SetColor(R.color.fs);  
  140.                     }  
  141.                 }  
  142.             }).show();  
  143.               
  144.         }  
  145.   
  146.     /**  
  147.         * 关于  
  148.         */  
  149.         private void about() {  
  150.             new AlertDialog.Builder(ColorTestActivity.this).setTitle("关于人生")  
  151.             .setMessage("人生需要奋斗")  
  152.             .setIcon(R.drawable.ic_launcher)  
  153.             .setPositiveButton("确定",  
  154.                     new DialogInterface.OnClickListener() {  
  155.                 public void onClick(DialogInterface dialog, int whichButton)   
  156.                     {  
  157.                     }  
  158.                 }).setNegativeButton("返回",  
  159.                     new DialogInterface.OnClickListener() {  
  160.                           
  161.                     public void onClick(DialogInterface dialog,int which) {  
  162.                         }  
  163.   
  164.                     }).show();  
  165.   
  166.         }  
  167.   
  168.         /**  
  169.          * 监听屏幕点击事件显示菜单  
  170.          */  
  171.         public boolean onTouchEvent(MotionEvent event) {  
  172.               
  173.             openOptionsMenu();  
  174.             return false;  
  175.                
  176.         }  
  177.   
  178.         /**  
  179.          * 关联菜单  
  180.          */  
  181.           
  182.         public boolean onCreateOptionsMenu(Menu menu) {  
  183.             super.onCreateOptionsMenu(menu);  
  184.             getMenuInflater().inflate(R.menu.menu, menu);  
  185.             return true;  
  186.         }  
  187.      
  188.         /**  
  189.          * 设置背景颜色  
  190.          * @param white  
  191.          */  
  192.         private void SetColor(int white) {  
  193.             //根据上下文获取对象  
  194.             myColor = getBaseContext().getResources();  
  195.             //获取颜色对象  
  196.             Drawable colorview = myColor.getDrawable(white);  
  197.             //显示  
  198.             mylayout.setBackgroundDrawable(colorview);        
  199.         }  
  200.     /**  
  201.      * 全屏设置  
  202.      */  
  203.         private void SetStatusWindows() {  
  204.             //设置没有标题  
  205.             requestWindowFeature(Window.FEATURE_NO_TITLE);  
  206.             //设置充满  
  207.             int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;  
  208.             Window myWindow = this.getWindow();  
  209.             myWindow.setFlags(flag, flag);  
  210.         }  
  211.     }  

布局文件

main.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2.   
  3. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  4.      
  5.     android:layout_width="fill_parent"  
  6.     android:layout_height="fill_parent"  
  7.     android:orientation="vertical"   
  8.     android:id="@+id/mylayout">  
  9.    
  10. </LinearLayout>  

string.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.   
  4.     <string name="hello">多功能手电筒</string>  
  5.     <string name="app_name">多功能手电筒</string>  
  6.     <string name ="setcolor">更换颜色</string>  
  7.     <string name="setbright">更换亮度</string>  
  8.     <string name ="seteffer">退出软件</string>  
  9.     <string name="about">关于</string>  
  10.   
  11. </resources>  


 

menu.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <menu  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4. <item android:id="@+id/setcolor"  
  5. android:title="@string/setcolor"  
  6. />  
  7.  <item android:id="@+id/setbright"  
  8. android:title="@string/setbright"  
  9.  />  
  10. <item android:id="@+id/seteffer"  
  11. android:title="@string/seteffer"  
  12.  />  
  13.  <item android:id="@+id/about"  
  14. android:title="@string/about"  
  15.  />  
  16. </menu>  

 

color.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <color name="white">#FFFFFF</color>  
  4.     <color name="yellow">#FFD700</color>  
  5.     <color name="red">#FF0000</color>  
  6.     <color name="fs">#FF34B3</color>  
  7.     <color name="black">#000000</color>  
  8. </resources>  


结果:

  评论这张
 
阅读(391)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017