本案例比较简单,就是使用activity自定义成Dialog样式的加载页面,就是弹出框形式。

第一步:我们先对加载页面的样式进行定义MyDialogStyle,在styles.xml文件中,如下:

Xml代码 收藏代码
  1. <stylename="MyDialogStyle">
  2. <itemname="android:windowBackground">@android :color/transparent</item><!--背景透明-->
  3. <itemname="android:windowFrame">@null </item><!--边框-->
  4. <itemname="android:windowNoTitle">true</item><!--无标题-->
  5. <itemname="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
  6. <itemname="android:windowIsTranslucent">true</item><!--半透明-->
  7. <itemname="android:windowContentOverlay">@null </item><!--内容覆盖-->
  8. <itemname="android:windowAnimationStyle">@android :style/Animation.Dialog</item><!--窗口样式Dialog-->
  9. <itemname="android:backgroundDimEnabled">true</item><!--模糊-->
  10.  </style>

第二步;设计加载页面的xml布局loading.xml,比较简单直接代码:

Xml代码 收藏代码
  1. <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. >
  6. <RelativeLayout
  7. android:layout_width="180dp"
  8. android:layout_height="180dp"
  9. android:layout_centerInParent="true"
  10. android:background="@drawable/loading_bg">
  11. <LinearLayout
  12. android:layout_width="fill_parent"
  13. android:layout_height="fill_parent"
  14. android:gravity="center"
  15. android:orientation="vertical">
  16. <ProgressBar
  17. android:id="@+id/progressBar1"
  18. style="?android:attr/progressBarStyleLarge"
  19. android:layout_width="wrap_content"
  20. android:layout_height="wrap_content"
  21. android:layout_gravity="center_horizontal"
  22. />
  23. <TextView
  24. android:layout_width="wrap_content"
  25. android:layout_height="wrap_content"
  26. android:text="正在登录"
  27. android:layout_marginTop="10dp"
  28. android:textColor="#fff"
  29. android:textSize="20sp"
  30. />
  31. </LinearLayout>
  32. </RelativeLayout>
  33. </RelativeLayout>

第三步:创建LoadingActivity类继承Activity,我这里没有做任何操作,根据需要自己设计,这里只是添加了等待并销毁操作,代码如下:


Java代码 收藏代码
  1. importandroid.app.Activity;
  2. importandroid.os.Bundle;
  3. importandroid.os.Handler;
  4. importandroid.widget.Toast;
  5. publicclassLoadingActivityextendsActivity{
  6. @Override
  7. publicvoidonCreate(BundlesavedInstanceState){
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.loading);
  10. //这里Handler的postDelayed方法,等待10000毫秒在执行run方法。
  11. //在Activity中我们经常需要使用Handler方法更新UI或者执行一些耗时事件,
  12. //并且Handler中post方法既可以执行耗时事件也可以做一些UI更新的事情,比较好用,推荐使用
  13. newHandler().postDelayed(newRunnable(){
  14. publicvoidrun(){
  15. //等待10000毫秒后销毁此页面,并提示登陆成功
  16. LoadingActivity.this.finish();
  17. Toast.makeText(getApplicationContext(),"登录成功",Toast.LENGTH_SHORT).show();
  18. }
  19. },10000);
  20. }
  21. }

第四步:在首页中只是用了一个按钮启动加载页:


Java代码 收藏代码
  1. importandroid.app.Activity;
  2. importandroid.content.Intent;
  3. importandroid.os.Bundle;
  4. importandroid.view.View;
  5. importandroid.view.View.OnClickListener;
  6. importandroid.widget.Button;
  7. publicclassMainActivityextendsActivityimplementsOnClickListener{
  8. privateButtonmain_login_btn;
  9. @Override
  10. publicvoidonCreate(BundlesavedInstanceState){
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. main_login_btn=(Button)this.findViewById(R.id.main_login_btn);
  14. main_login_btn.setOnClickListener(this);
  15. }
  16. publicvoidonClick(Viewv){
  17. Intentintent=newIntent();
  18. intent.setClass(MainActivity.this,LoadingActivity.class);//跳转到加载界面
  19. startActivity(intent);
  20. }
  21. }

第五步;运行效果如下:


Android 登陆、提交数据或者加载数据时提示页面

转自http://104zz.iteye.com/blog/1688249

更多相关文章

  1. Activity或者FragmenitActivity锁屏后会被销毁一遍,解锁时又重新
  2. 一个Android项目代码该怎么看
  3. Android热修复之替换原有classes.dex的源代码分析
  4. 《第一行代码--Android》学习笔记--第一章:开始起航:思路
  5. android有用代码片段(1)
  6. android视频截屏&手机录屏实现代码
  7. Android 分析Native库的加载过程及x86系统运行arm库的原理
  8. Android混淆代码
  9. Android热修复原理(一)热修复框架对比和代码修复

随机推荐

  1. 关于使用Android(安卓)Studio时的Gradle
  2. Android应用开发之( TableLayout中stretch
  3. Android(安卓)8.0以上 竖屏到横屏 返回时
  4. Android(安卓)Espresso
  5. android 指定打包资源文件的方法
  6. Android输出log的包装
  7. Android(安卓)Weekly - 第 194 期
  8. 解决升级到Android(安卓)Studio 3 Beta版
  9. Android(java)学习笔记124:Android权限大全
  10. 以Android(安卓)Studio讲解Gradle在Andro