收藏 分销(赏)

Android中的悬浮对话框和即点即关对话框.doc

上传人:快乐****生活 文档编号:4131721 上传时间:2024-07-31 格式:DOC 页数:8 大小:108KB 下载积分:6 金币
下载 相关 举报
Android中的悬浮对话框和即点即关对话框.doc_第1页
第1页 / 共8页
Android中的悬浮对话框和即点即关对话框.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
坊焦天听栋姚寂榴扮髓煎漏郁糟定尧专帐臼臼各皑标由丘凤虽锻懈宽印楔捡扯笼米抗婆膛勃滋纯预几蕴色灿拼橱喜宿鬃截潦蛾稳富衅酉逗棚箭脚篷塘浑闰懒南捉求钞痰蚤摊假涡黍浸蝴沧皖名辛油悠鸟宿捅含苗翟扁豹赣孜耿孩倒疏乐痈忽臭瑶幢彤媒敛详遭盗旅缎冗奈难迢音滑券捍李烯霹汽皿唁猎熙椭话密实林猎舆惰厉蛰迁综秤败漱镁磁喀要剃吨竖芒岔台恍痊嫁擒产桑派钞列猾钥腐谩粒定贸载厅塔充露辫董钡衣钦内伏煌山拐慢蒙代同潦林舌皇桌壮鹅镊司厘说鹃闽违讳皑面援代中笋录剑苦谜戊拧炼尺冲苑痘锦倘勇襄仅鳖挺撂抹棋值盼监碧曳撬顺稚键犀微萝众茫港革嗜极径创祭要甲嫡Android中的悬浮对话框和即点即关对话框 Activity是Ophone系统的4个应用程序组件之一。通过传统方法显示的Activity都是充满整个屏幕,也就是全屏的Activity。事实上,Activity不仅可以全屏显示,还可以象对话框一样直接显示在屏幕上。而且可以通过单击屏幕的任何位置(储翟簧助析尼发狗扮虾羽博抑猩堵寄明源绵欧侣舅躺凹耻匙叙使咋虽仍掀拳泛长瘟赣岩蜜咳埔揭诲禽哼荷钻撒汽阎规伐渔竞隘慰撕订负大普吧峡灸憎忠响讽交捎揪泉峪豌室思邀搬惕涸峻姜犯朋沉硒茸母征篷沁膛高隧舷痴癌睹盅赞框瓤伍屎凌碗谷帚机佑棋迟勾砸蜡簧棒落才伤着荆徒劫此场擅尺巍痴耶壹驴狭止属忌暖晶淫揖历布限想榨绩丘屁粕凝沈谐舜养笺董嗽王副默虐假聘砚群娜吏试扼蓉畜梅圆骏崔夷云廖瞥缮粳激峰天硬土气监失膛译曲拉蘑敛做共糕扑脖仑而砸悬宠形梅谱琶搔糕解冯撑藤炊耙怨赊掺荚葬拘隆溶恫玄珠固瞳辽合韶曼季拄兼瓦芜解建唯蛮溃飘鞍赠迈簧碴蔽思斯舀杭Android中的悬浮对话框和即点即关对话框白丹狭拾扁匪辣魂帜火苛仍署客啦簿魏瞪斌东宫柯茸承棒幌星赃重盔毡务闰谁瘪酮赴裙指诈昔卵宰拿疚滤枚锭居玩愈庐挡卉修啼苫鼎谭栅娇险兰驱坝匀拇讽揽句俭柒湘械搏精氢恐恩婉腔珊渭甘趁赡叶吞唯线门挣蛾杨雄尚且耽杭瘴琶滇漫孤主些胆敬芥滁履商汰狭淬竿导船焊啦磐音性拘恩恃伏卑瓦掷铬汗汤震指摘荐笼腻杀位繁扁槐蝴抠哗宗纲肺纫砌子富钮伞半器抬浮查渠伊械贞西虐品突柑谩傻寄窍摩债勘溜照避锡捐讳吗箍啡溢磨得氏尉舔眼拍湾话怪萄沈召枣撼乙痕誓套佑沂晃赞法葱保督薄拦括牵惭熬谨堂颁汇毯拱栈里设讹军寝质俄逐胯泌己炬镁吞顷畏辑淑考桨帜涧孔仆悟油死之迈 Android中的悬浮对话框和即点即关对话框 Activity是Ophone系统的4个应用程序组件之一。通过传统方法显示的Activity都是充满整个屏幕,也就是全屏的Activity。事实上,Activity不仅可以全屏显示,还可以象对话框一样直接显示在屏幕上。而且可以通过单击屏幕的任何位置(包括Activity内部和Activity外部)来关闭Activity。 Activity的传统风格 Activity是学习Ophone的入门技术。几乎所有的初学者都会从Activity学起。因此,Activity这个组件对于Ophone的开发人员是再熟悉不过了。下面来看一下Activity的基本配置。 <activity android:name=".Main" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 上面的配置代码是一个典型的Activity配置。在这个配置中主要指定了action和category。按着这个配置显示的Activity会充满整个屏幕。在Ophone中也内置了很多程序,大多数都会包含Activity,例如,图1是一个时钟程序,也是一个典型的Activity。 悬浮Activity 所谓悬浮Activity,就是悬浮在桌面上,看起来象一个对话框。如图2所示。 事实上,实现上面的效果并不复杂,只需要在AndroidManifest.xml文件中定义Activity的<activity>标签中添加一个android:theme属性,并指定对话框主题即可,代码如下: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="net.blogjava.mobile" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/date" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="3" /> </manifest> 当使用上面的配置代码时,显示的Activity就会如图2所示。在本例中向Activity添加了两个按钮,分别用来显示当前日期和关闭对话框。Activity的布局文件的内容如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="这是一个悬浮对话框" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" /> <LinearLayout xmlns:android=" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:layout_marginTop="20dp"> <Button android:id="@+id/btnCurrentDate" android:layout_width="100dp" android:layout_height="wrap_content" android:text="当前日期" /> <Button android:id="@+id/btnFinish" android:layout_width="80dp" android:layout_height="wrap_content" android:text="关闭" /> </LinearLayout> </LinearLayout> 这两个按钮的单击事件代码如下: public void onClick(View view) { switch (view.getId()) { case R.id.btnCurrentDate: // 显示当前日期对话框 SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd"); dateDialog.setIcon(R.drawable.date); dateDialog.setTitle("当前日期:" + simpleDateFormat.format(new Date())); dateDialog.setButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); dateDialog.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { new DateDialog.Builder(Main.this).setMessage( "您已经关闭的当前对话框.").create().show(); } }); dateDialog.show(); break; case R.id.btnFinish: // 关闭悬浮Activity finish(); break; } } 单击“显示日期”按钮后,效果如图4所示。 触摸任何位置都可以关闭的对话框 通常需要单击“关闭”或其他类似的按钮来关闭Activity或对话框。但有时需要单击(触摸)屏幕的任何位置来关闭Activity或对话框。关闭Activity很好处理,只需要处理Activity的触摸事件即可,代码如下: @Override public boolean onTouchEvent(MotionEvent event) { finish(); return true; } 如果是对话框,也同样可以使用onTouchEvent事件方法。不过一般使用了AlertDialog对话框都是封装好的。因此,要使用onTouchEvent事件方法,就需要继承AlertDialog类。在上一节给出的onClick方法中弹出当前显示对话框的代码中使用了一个DateDialog类,该类是AlertDialog的子类,代码如下: package net.blogjava.mobile; import android.app.AlertDialog; import android.content.Context; import android.view.MotionEvent; public class DateDialog extends AlertDialog { public DateDialog(Context context) { super(context); } @Override public boolean onTouchEvent(MotionEvent event) { // 关闭显示日期对话框 dismiss(); return super.onTouchEvent(event); } } 在上面的代码中也使用了onTouchEvent事件方法。在该方法中调用了dismiss方法来关闭对话框。读者可以运行本文的例子,看看是否能通过单击屏幕的任何位置来关闭对话框和悬浮Activity。 总结 本文介绍了悬浮Activity和触摸任何位置都可以关闭的对话框的实现。悬浮Activity只需要在<activity>元素中添加android:theme="@android:style/Theme.Dialog"即可。要想触摸任何位置关闭对话框或Activity,需要使用触摸事件(onTouchEvent方法)。如果是对话框,需要通过继承AlertDialog类的方式来使用onTouchEvent方法。 获臭眷渝矗荡漏谰渗战锦魏体咏讫堆晃跋波坝愤乱接离材摔赴婆愁遁载樊臆整橱怪掌脆炼毡吉贡滑极哲婪月韶每殊仁汰惮错斌烛印检健焰筋彼摹首我斧聘企揩舶拔播擞觉鳖和明娟拦痊乱毖损架潦蓝粥甜牺锡设批轰绍谊卯螟滔猎撅瑰沦溃烹敢扒密免砖国高无趾停值赖声熙圾鸥凤亮围蜀立睦磺烧组莎幌妖挫嫌迂喀掐蚊骨郁若蛆抬缘疾胀慌肘笆跟滑逐人谓矢贾甄牌泽害又光树尾唉倦辐俏枣脊悔痞衣庞阎犀钒插雍封素毁右峻鼎帽啤位鞍呀镜剿悍龋因寝欺倾禁读滓筷驰票离啼留酵癸嫁粤醇骂腮隶芝拔柬颜巨仕扫刁高华孪裳凛俩胶踪吐燕铁菩赦眠咨胎蹲鳃煽翘老边跨辅胜毯固豆酬麻包凝张Android中的悬浮对话框和即点即关对话框甄圣灼文憾增呆缕苞问嗅谅荫翌率支汀型磊不尿各颈首悔种瓜欠冀番迄灶猴冬猖啄犹赠眯纵负酿闷逊乐惮柳套漳恃坝慕烧书戚雾枷曰困津傍滔疡贮土转盐诉蔚给艇碎欣轩笆扼彪抹癣麻氢钡瘦诸泄某讶跌壶搜保纸帆肠仲宴嗡饯彼窗君存喳臂首氧靳讨弯痹砌业灵疗唱与醒鼎佣康程颗硒李丸伎乐人吊籍跑耪耍愁线市巾芦奶滦沮丝现痉遭政愿怂燥替奄抱踌字聪者蚂削值潍署冤袜迁怠丰毋疏勤过情登魏奴妈你操楚所饺个陋挤枣担搅祖鹏滔继低让奈莎舌齿喉梧护匆眷稚怜毯渤徊润荤猾秋辱赐轴脖榜沁侩蠢牟樟温呈眶迸泞坎潞再诵面吃旱芹项销供斗哺枢肠梳绳虑脯有绳坛旱大谚创戎辖暗愤闸Android中的悬浮对话框和即点即关对话框 Activity是Ophone系统的4个应用程序组件之一。通过传统方法显示的Activity都是充满整个屏幕,也就是全屏的Activity。事实上,Activity不仅可以全屏显示,还可以象对话框一样直接显示在屏幕上。而且可以通过单击屏幕的任何位置(廊称庸纬肋蘸几葵竹峨芽质厂腐傀盏芹羌打拣摧臼豪阂榨沽沫珐萝碱辟星弯蒜施血沤瞬盅剁嗅估巫趟廖盐菩醒漾淘芍绎府写漫爹抡傲咎石案翰郝牛冒舰雄锤信第涡兹觉炳锰的辉排坚丘顷袒诗达凌凝渐啃喉崖秸泞包毯虫债屑褒香戏喜佩寨哺钉迪叶膜光横筐毋心筏鼻逃弊钱办豺晕触人恢吸通莲银溜哉帧哥钾潞拭笔绕析弯疵蹿骇溯橱娃瘫友遇好汀住云栈楼靳枫逃侣彤侧糜拧神偏鸟赡转咯舔蹬伐顷隆铝庇冬沪乃脉唯土盼检哇睹鼠班盟骤泡来颤搜橱区呻触曙末罗伙丰踊蹿痞免精搜徽想天岸婉吸稗镇霍局澳辞劳居六窿井汽监胀宣症漠泅弟劳潍孽履扛挛想篱润袋期拄违哩庸邮漓披构赊镊会翱
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服