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

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

<style name="MyDialogStyle">        <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->        <item name="android:windowFrame">@null</item><!--边框-->        <item name="android:windowNoTitle">true</item><!--无标题-->        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->        <item name="android:windowIsTranslucent">true</item><!--半透明-->        <item name="android:windowContentOverlay">@null</item><!--内容覆盖 -->        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item><!-- 窗口样式Dialog -->        <item name="android:backgroundDimEnabled">true</item><!--模糊-->       </style>

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    >      <RelativeLayout        android:layout_width="180dp"        android:layout_height="180dp"        android:layout_centerInParent="true"        android:background="@drawable/loading_bg" >        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:gravity="center"            android:orientation="vertical" >                        <ProgressBar        android:id="@+id/progressBar1"        style="?android:attr/progressBarStyleLarge"        android:layout_width="wrap_content"        android:layout_height="wrap_content"                android:layout_gravity="center_horizontal"                />              <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="正在登录"       android:layout_marginTop="10dp"        android:textColor="#fff"        android:textSize="20sp"        />        </LinearLayout>    </RelativeLayout></RelativeLayout>

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

import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.widget.Toast;public class LoadingActivity extends Activity{@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.loading);//这里Handler的postDelayed方法,等待10000毫秒在执行run方法。//在Activity中我们经常需要使用Handler方法更新UI或者执行一些耗时事件,//并且Handler中post方法既可以执行耗时事件也可以做一些UI更新的事情,比较好用,推荐使用new Handler().postDelayed(new Runnable(){public void run(){//等待10000毫秒后销毁此页面,并提示登陆成功LoadingActivity.this.finish();Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_SHORT).show();}}, 10000);   }}

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

import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener{private Button main_login_btn;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        main_login_btn = (Button) this.findViewById(R.id.main_login_btn);        main_login_btn.setOnClickListener(this);    }public void onClick(View v) {Intent intent = new Intent();        intent.setClass(MainActivity.this,LoadingActivity.class);//跳转到加载界面        startActivity(intent);}    }

第五步;运行效果如下:


更多相关文章

  1. Android之使用Android-query框架进行开发(一)
  2. Android原生代码调用H5 Web网页中的Javascript函数方法
  3. Android(安卓)使用Loader示例
  4. android Adapter综合介绍
  5. android activity 生命周期
  6. 关于android中使用new Message的内存泄露问题
  7. Android(安卓)控件二 Button
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android 源码结构
  2. Android矢量图形-Vector
  3. (学习笔记) Android   Activity相关
  4. Android窗口机制(二)Window,PhoneWindow,Deco
  5. Android:Picker(DatePicker、TimerPicker、
  6. Android imageView ScaleType.FIT_CENTER
  7. [Android]android源码下载&Eclipse关联an
  8. Android可缩放矢量图形(SVG)
  9. android开发每日汇总【2011-12-6】
  10. Android短信的发送和广播接收者实现短信