EX10_01.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:5k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex10_01; 
  2. /* import相关class */
  3. import android.app.Activity; 
  4. import android.app.AlertDialog;
  5. import android.content.Context; 
  6. import android.content.DialogInterface;
  7. import android.content.DialogInterface.OnClickListener;
  8. import android.os.Bundle; 
  9. import android.os.PowerManager; 
  10. import android.view.Menu;
  11. import android.view.MenuItem; 
  12. import android.view.Window; 
  13. import android.view.WindowManager; 
  14. import android.widget.LinearLayout;
  15. import android.widget.Toast;
  16. public class EX10_01 extends Activity 
  17. {
  18.   private boolean ifLocked = false;
  19.   private PowerManager.WakeLock mWakeLock; 
  20.   private PowerManager mPowerManager; 
  21.   private LinearLayout mLinearLayout;
  22.   /* 独几无又的menu选项identifier,用北识?事件 */ 
  23.   static final private int M_CHOOSE = Menu.FIRST; 
  24.   static final private int M_EXIT = Menu.FIRST+1;
  25.   /* 颜色选单的颜色与文?阵在 */
  26.   private int[] color={R.drawable.white,R.drawable.blue,
  27.                        R.drawable.pink,R.drawable.green,
  28.                        R.drawable.orange,R.drawable.yellow};
  29.   private int[] text={R.string.str_white,R.string.str_blue,
  30.                       R.string.str_pink,R.string.str_green,
  31.                       R.string.str_orange,R.string.str_yellow};
  32.   @Override 
  33.   public void onCreate(Bundle savedInstanceState) 
  34.   { 
  35.     super.onCreate(savedInstanceState); 
  36.      
  37.     /* 必须?setContentView之前呼?回屏幕显示 */ 
  38.     requestWindowFeature(Window.FEATURE_NO_TITLE);
  39.     
  40.     this.getWindow().setFlags
  41.     ( 
  42.       WindowManager.LayoutParams.FLAG_FULLSCREEN,
  43.       WindowManager.LayoutParams.FLAG_FULLSCREEN
  44.     );
  45.     setContentView(R.layout.main);
  46.     
  47.     /* ?Activity启动时将屏幕亮调整为最亮
  48.      * 否程序为SDK1.5的新叫能,仅?1.5环境兀适用
  49.      */
  50.     WindowManager.LayoutParams lp = getWindow().getAttributes(); 
  51.     lp.screenBrightness = 1.0f; 
  52.     getWindow().setAttributes(lp); 
  53.     
  54.     /* 初始化mLinearLayout */
  55.     mLinearLayout=(LinearLayout)findViewById(R.id.myLinearLayout1);         
  56.     
  57.     /* 取得PowerManager */ 
  58.     mPowerManager = (PowerManager)
  59.                      getSystemService(Context.POWER_SERVICE); 
  60.     /* 取得WakeLock */
  61.     mWakeLock = mPowerManager.newWakeLock 
  62.     ( 
  63.       PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "BackLight" 
  64.     );    
  65.   } 
  66.   @Override 
  67.   public boolean onCreateOptionsMenu(Menu menu) 
  68.   { 
  69.     /* menu群组ID */ 
  70.     int idGroup1 = 0;    
  71.     /* menuItemID */ 
  72.     int orderMenuItem1 = Menu.NONE; 
  73.     int orderMenuItem2 = Menu.NONE+1; 
  74.     /* 建立menu */ 
  75.     menu.add(idGroup1,M_CHOOSE,orderMenuItem1,R.string.str_title);
  76.     menu.add(idGroup1,M_EXIT,orderMenuItem2,R.string.str_exit); 
  77.     menu.setGroupCheckable(idGroup1, true, true);
  78.  
  79.     return super.onCreateOptionsMenu(menu); 
  80.   } 
  81.    
  82.   @Override 
  83.   public boolean onOptionsItemSelected(MenuItem item) 
  84.   {  
  85.     switch(item.getItemId()) 
  86.     { 
  87.       case (M_CHOOSE):
  88.         /* 跳叨选择背后颜色的AlertDialog */
  89.         new AlertDialog.Builder(EX10_01.this)
  90.           .setTitle(getResources().getString(R.string.str_title))
  91.           .setAdapter(new MyAdapter(this,color,text),listener1)
  92.           .setPositiveButton("取消",
  93.               new DialogInterface.OnClickListener()
  94.           {
  95.             public void onClick(DialogInterface dialog, int which)
  96.             {
  97.             }
  98.           })
  99.           .show();
  100.         break; 
  101.       case (M_EXIT): 
  102.         /* 离开程序 */ 
  103.         this.finish(); 
  104.         break; 
  105.     }
  106.     return super.onOptionsItemSelected(item); 
  107.   }
  108.   
  109.   /* 选择背后颜色的AlertDialog的OnClickListener */
  110.   OnClickListener listener1=new DialogInterface.OnClickListener()
  111.   {
  112.     public void onClick(DialogInterface dialog,int which)
  113.     {
  114.       /* 更改背景颜色 */
  115.       mLinearLayout.setBackgroundResource(color[which]);
  116.       /* 北Toast显示设定的颜色 */
  117.       Toast.makeText(EX10_01.this,
  118.                      getResources().getString(text[which]),
  119.                      Toast.LENGTH_LONG).show();
  120.     }
  121.   };
  122.    
  123.   @Override 
  124.   protected void onResume() 
  125.   {  
  126.     /* onResume()时呼?wakeLock() */
  127.     wakeLock(); 
  128.     super.onResume(); 
  129.   } 
  130.    
  131.   @Override 
  132.   protected void onPause() 
  133.   {
  134.     /* onPause()时呼?wakeUnlock() */
  135.     wakeUnlock(); 
  136.     super.onPause();
  137.   } 
  138.   
  139.   /* 唤起WakeLock的method */
  140.   private void wakeLock()
  141.   { 
  142.     if (!ifLocked) 
  143.     { 
  144.       ifLocked = true;
  145.       mWakeLock.acquire();
  146.     }
  147.   }
  148.   /* 释放WakeLock的method */
  149.   private void wakeUnlock() 
  150.   { 
  151.     if (ifLocked) 
  152.     { 
  153.       mWakeLock.release(); 
  154.       ifLocked = false;
  155.     }
  156.   }
  157. }