本文实例讲述了Android 开发使用Activity实现加载等待界面功能。分享给大家供大家参考,具体如下:
实现加载等待界面我用了两种方式,一种是用PopupWindow实现,另一种便是用Activity实现。用PopupWindow实现方法请见我的另一篇博客:
android使用PopupWindow实现加载等待界面
好了,下面开始。先上效果:
基本原理就是在主界面点击按钮(以登录按钮为例)之后,打开一个新的Activity,此Activity以对话框形式展示。首先,主界面(一个登录按钮以及它的监听事件):
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.toprs.waitingpractice.MainActivity"> <Button android:text="登录" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="loginClick" android:id="@+id/button2"/> </LinearLayout>
MainActivity.java
package com.toprs.waitingpractice; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void loginClick(View v){ Intent intent = new Intent(); intent.setClass(MainActivity.this,WaitingActivity.class); startActivity(intent); } }
接下来是弹出的新Activity,新的Activity及其布局:
waiting_activity.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.toprs.waitingpractice.MainActivity"> <Button android:text="登录" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="loginClick" android:id="@+id/button2"/> </LinearLayout>
WaitingActivity.java
package com.tow.waitingpractice; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.widget.Toast; /** * Created by 39867 on 2017/4/18. */ public class WaitingActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.loading_activity); new Handler().postDelayed(new Runnable() { @Override public void run() { WaitingActivity.this.finish(); Toast.makeText(WaitingActivity.this, "登录成功", Toast.LENGTH_SHORT).show(); } },2000); } }
OK,运行一下试试吧。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》
希望本文所述对大家Android程序设计有所帮助。
本文向大家介绍Android 开发使用PopupWindow实现加载等待界面功能示例,包括了Android 开发使用PopupWindow实现加载等待界面功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android 开发使用PopupWindow实现加载等待界面功能。分享给大家供大家参考,具体如下: 实现加载等待界面我用了两种方式,一种是用PopupWindow实现,另一种便是用
本文向大家介绍Android开发使用ProgressBar实现进度条功能示例,包括了Android开发使用ProgressBar实现进度条功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android开发使用ProgressBar实现进度条功能。分享给大家供大家参考,具体如下: 进度条ProgressBar的使用主要有两种方向; 1.使用官方默认样式 2.使用自定义样式 先看效果:
问题内容: 我想知道这里发生了什么。 有一个http处理程序的接口: 我想我了解这种实现。 根据我的理解,“计数器”类型实现了接口,因为它具有一种具有所需签名的方法。到目前为止,一切都很好。然后给出这个例子: 有人可以详细说明为什么这些功能或如何将它们组合在一起吗? 问题答案: 这个: 说任何满足接口的类型都必须有一个方法。以上将在包装内。 这会将方法放在对应于ServeHTTP的Counter类
本文向大家介绍Android编程实现分页加载ListView功能示例,包括了Android编程实现分页加载ListView功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现分页加载ListView功能。分享给大家供大家参考,具体如下: 我们第一个应该看见的就是声明了很多私有的变量,因为这样设置就可以变成只能自己来调用了,这样和其它的不发生冲突。其中我们设置了开始
我试图创建一个等待加载页面的方法,但我出现了一个错误。可能我没有正确使用这个方法。 错误是:
问题内容: 我有一个简单的功能,可以从Firebase加载数据。 当前,即使有要加载的数据,此函数也会始终返回。之所以这样做,是因为它永远不会执行执行完成块,在函数返回之前,它不会在数组中加载数组。我正在寻找一种使函数仅在调用完成块后才返回的方法,但不能将return放在完成块中。 问题答案: (关于此问题的变化经常出现在SO上。我永远找不到一个好的,全面的答案,因此下面尝试提供这样的答案) 你不