本案例比较简单,就是使用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的tab样式
  2. Android进程与线程的概念
  3. Android使用Handler实时更新UI
  4. Android样式化的定型对象 — Style样式的定义
  5. AsyncTask总结
  6. Android文件系统的提取方法(一)
  7. [Android][Android(安卓)Studio] *.jar 与 *.aar 的生成与*.aar
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Ubuntu因在MOTD植入广告遭批评
  2. Raspberry Pi 4发布8G版,同时带来64位镜像
  3. 慕尼黑们拥抱Linux,微软一直在被抛弃的路
  4. 微软开源其上古编程语言GW-BASIC
  5. 云计算时代,容器底层cgroup如何实现资源分
  6. winget install,微软开源Windows软件包管
  7. 从虚拟化到云原生——容器技术的发展史
  8. 数据包处理利器——Scapy基础知识
  9. 电商和物流行业的程序员需要学习的行业资
  10. 中国的中文邮箱第一品牌是什么?申请邮箱哪