收藏 分享(赏)

android开发培训实现手机手电筒.doc

上传人:ysd1539 文档编号:6814571 上传时间:2019-04-23 格式:DOC 页数:6 大小:583.50KB
下载 相关 举报
android开发培训实现手机手电筒.doc_第1页
第1页 / 共6页
android开发培训实现手机手电筒.doc_第2页
第2页 / 共6页
android开发培训实现手机手电筒.doc_第3页
第3页 / 共6页
android开发培训实现手机手电筒.doc_第4页
第4页 / 共6页
android开发培训实现手机手电筒.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、Android 实现手机手电筒首先,android 我们来看一下这个程序的运行截图:手电筒:首先点击菜单键,我们会看到菜单中有两个选项,一个是选择背光颜色,另一个是离开按钮,当我们点击背光颜色之后,会出现如上所示的效果。 接着,我们点击蓝色背光,出现如下所示的画面:实现这个程序很简单,下面给出实现的代码: 主程序文件 package irdc.ex10_01; /* import 相关 class */ import android.app.Activity; import android.app.AlertDialog; import android.content.Context; imp

2、ort android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.os.PowerManager; import android.view.Menu; import android.view.MenuItem; import android.view.Window;import android.view.WindowManager; import android.widget.LinearLay

3、out;import android.widget.Toast; public class EX10_01 extends Activity /* * PowerManager 可以控制手机的 wakelock,使手机处于恒亮的状态 */ privatebooleanifLocked = false; private PowerManager.WakeLock mWakeLock; private PowerManager mPowerManager; private LinearLayout mLinearLayout; /* 独一无二的 menu 选项 identifier,用以识别事件

4、*/ static final private int M_CHOOSE = Menu.FIRST; static final private int M_EXIT = Menu.FIRST+1; /* 颜色菜单的颜色与文字数组 */ private int color=R.drawable.white,R.drawable.blue, R.drawable.pink,R.drawable.green, R.drawable.orange,R.drawable.yellow; private int text=R.string.str_white,R.string.str_blue, R.st

5、ring.str_pink,R.string.str_green, R.string.str_orange,R.string.str_yellow; Override public void onCreate(BundlesavedInstanceState) super.onCreate(savedInstanceState); /* 必须?setContentView 之前调用全屏显示 */ requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags (WindowManager.LayoutParams.FLAG

6、_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); /* 初始化 mLinearLayout */ mLinearLayout=(LinearLayout)findViewById(R.id.myLinearLayout1);/* 取得 PowerManager */ mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); /* 取得 WakeLock */ mWakeLock =

7、mPowerManager.newWakeLock ( PowerManager.SCREEN_BRIGHT_WAKE_LOCK, “BackLight“ ); WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.screenBrightness = 1.0f; getWindow().setAttributes(lp); Override public boolean onCreateOptionsMenu(Menu menu) /* menu 组 ID */ int idGroup1 = 0; /* menuIte

8、mID */ int orderMenuItem1 = Menu.NONE; int orderMenuItem2 = Menu.NONE+1; /* 建立 menu */ menu.add(idGroup1,M_CHOOSE,orderMenuItem1,R.string.str_title); menu.add(idGroup1,M_EXIT,orderMenuItem2,R.string.str_exit); menu.setGroupCheckable(idGroup1, true, true); return super.onCreateOptionsMenu(menu); Over

9、ride public boolean onOptionsItemSelected(MenuItem item) switch(item.getItemId() case (M_CHOOSE): /* 弹出选择背后颜色的 AlertDialog */ new AlertDialog.Builder(EX10_01.this) .setTitle(getResources().getString(R.string.str_title).setAdapter(new MyAdapter(this,color,text),listener1) .setPositiveButton(“取消“, new

10、 DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) ) .show(); break; case (M_EXIT): /* 离开程序 */ this.finish(); break; return super.onOptionsItemSelected(item); /* 选择背后颜色的AlertDialog 的 OnClickListener */ OnClickListener listener1=new DialogInterface.OnClickListen

11、er() public void onClick(DialogInterface dialog,int which) /* 更改背景颜色 */ mLinearLayout.setBackgroundResource(colorwhich); /* Toast 显示设定的颜色 */ Toast.makeText(EX10_01.this, getResources().getString(textwhich), Toast.LENGTH_LONG).show(); ; Override protected void onResume() /* onResume()时调用 wakeLock() *

12、/ wakeLock(); super.onResume(); Override protected void onPause() /* onPause()时调用 wakeUnlock() */ wakeUnlock(); super.onPause(); /* 唤起 WakeLock 的 method */ private void wakeLock() if (!ifLocked) ifLocked = true; mWakeLock.acquire(); /* 释放 WakeLock 的 method */ private void wakeUnlock() if (ifLocked)

13、mWakeLock.release(); ifLocked = false; 2.Adapter 文件package irdc.ex10_01; /* import 相关 class */ import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; /* 自定义的 Adapt

14、er,继承android.widget.BaseAdapter */ public class MyAdapter extends BaseAdapter private LayoutInflater mInflater; private int color; private int text; public MyAdapter(Context context,int _color,int _text) mInflater = LayoutInflater.from(context); color = _color; text = _text; /* 因继承 BaseAdapter,需重写以下

15、 method */ Override public int getCount() return text.length; Override public Object getItem(int position) return textposition; Override public long getItemId(int position) return position; Override public View getView(int position,View convertView,ViewGroup par) ViewHolder holder; if(convertView =

16、null) /* 使用自定义的 change_color 作为Layout */ convertView = mInflater.inflate(R.layout.change_color, null); /* 初始化holder 的 text */ holder = new ViewHolder(); holder.mText=(TextView)convertView.findViewById(R.id.myText); convertView.setTag(holder); else holder = (ViewHolder) convertView.getTag(); holder.mText.setText(textposition); holder.mText.setBackgroundResource(colorposition); return convertView; /* class ViewHolder */ private class ViewHolder TextView mText; 3.两个布局文件 3.1 主布局3.2 对话框布局4.我们需要在程序中加入如下的权限

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报