




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】自定义ProgressDialog
最近工作中需要用到progressDialog,可是系统自带的黑色progressDialog又是其丑无比,无奈只能自己自定义了,在网上查看别人的例子,并自己整理了一份Demo:先上图:MyProgressDialog:packagecom.example.myprogressdialog_zzw;importandroid.app.Dialog;importandroid.content.Context;importandroid.graphics.drawable.AnimationDrawable;importandroid.view.Gravity;importandroid.view.View;importandroid.view.animation.Animation;importandroid.widget.ImageView;importandroid.widget.TextView;/**
*@author鹭岛猥琐男
*
*/publicclassMyProgressDialogextendsDialog{
privateContextcontext;
privatestaticMyProgressDialogmyProgressDialog=null;
publicMyProgressDialog(Contextcontext)
{
super(context);
this.context=context;
}
publicMyProgressDialog(Contextcontext,inttheme)
{
super(context,theme);
}
publicstaticMyProgressDialogcreateDialog(Contextcontext)
{
myProgressDialog=newMyProgressDialog(context,
R.style.myprogressDialog);
myProgressDialog.setContentView(R.layout.dialog_layout);
myProgressDialog.getWindow().getAttributes().gravity=Gravity.CENTER;
returnmyProgressDialog;
}
/*
*(non-Javadoc)
*
*@seeandroid.app.Dialog#onWindowFocusChanged(boolean)设置动画
*/
@Override
publicvoidonWindowFocusChanged(booleanhasFocus)
{
//TODOAuto-generatedmethodstub
super.onWindowFocusChanged(hasFocus);
ImageViewp_w_picpath_loadingp_w_picpath=(ImageView)myProgressDialog
.findViewById(R.id.p_w_picpath_loadingp_w_picpath);
AnimationDrawableanimation=(AnimationDrawable)p_w_picpath_loadingp_w_picpath
.getBackground();
animation.start();
}
publicMyProgressDialogsetTitle(StringstrTitle)
{
returnmyProgressDialog;
}
/**
*@paramstrMessage
*@return设置progressDialog的消息内容
*/
publicMyProgressDialogsetMessage(StringstrMessage)
{
TextViewtv_loadingmsg=(TextView)myProgressDialog
.findViewById(R.id.tv_loadingmsg);
if(tv_loadingmsg!=null)
{
tv_loadingmsg.setText(strMessage);
}
returnmyProgressDialog;
}}在MainActivity中对MyProgressDialog进行调用,为了模仿网络访问结束后,关闭ProgressDialog的过程,采用了线程的sleep,运行5秒后关闭ProgressDialog,上代码:packagecom.example.myprogressdialog_zzw;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.util.Log;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.Toast;/**
*@author鹭岛猥琐男
*采用线程的的sleep模拟下载结束后关闭progressDialog
*
*/publicclassMainActivityextendsActivity{
MyProgressDialogmyProgressDialog=null;
Handlerhandler=newHandler()
{
publicvoidhandleMessage(Messagemsg)
{
if(msg.what==1)
{
Log.e("接收到消息",""+msg.what);
if(myProgressDialog!=null)
{
myProgressDialog.dismiss();
myProgressDialog=null;
}
Toast.makeText(MainActivity.this,"加载完成!",Toast.LENGTH_SHORT)
.show();
}
};
};
@Override
protectedvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Buttonbtn_go=(Button)findViewById(R.id.button1);
btn_go.setOnClickListener(newOnClickListener()
{
@Override
publicvoidonClick(Viewv)
{
if(myProgressDialog==null)
{
myProgressDialog=MyProgressDialog
.createDialog(MainActivity.this);
myProgressDialog.setMessage("努力加载中...");
}
myProgressDialog.show();
newThread()
{
@Override
publicvoidrun()
{
Log.e("线程","进入线程!");
try
{
Thread.sleep(5000);
Messagemsg=newMessage();
msg.what=1;
handler.sendMessage(msg);
}
catch(InterruptedExceptione)
{
Log.e("异常","失败!异常");
}
}
}.start();
}
});
}
@Overrid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业战略与财务透明的关系试题及答案
- 2025年开发者应具备的技能试题及答案
- VB编程入门知识试题及答案
- 操作系统中的资源调度算法考察试题及答案
- (2025)第六届美丽中国全国国家版图知识竞赛题库及答案
- 2025年软件设计师市场变化试题及答案
- 如何评估竞争策略的有效性试题及答案
- 增强现实技术的应用与挑战试题及答案
- 软件开发中的风险管理试题及答案
- 软件设计师职业发展与试题及答案
- 绿植租摆服务投标方案(技术方案)
- 中学英语Unit1 thinking as a hobby课件
- 《意大利美食文化》课件
- 绿色中国智慧树知到课后章节答案2023年下华东理工大学
- 《施之以爱报之以恩》的主题班会
- 茶叶食用农产品承诺书(八篇)
- 组织行为学全套课件(罗宾斯版)
- 数据治理咨询项目投标文件技术方案
- 单梁起重机安全操作培训课件
- 动火证施工现场动火证申请书
- 安保安全隐患排查记录表
评论
0/150
提交评论