本案例比较简单,就是使用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{
@Override
public 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);
}
}
第五步;运行效果如下:
- 大小: 24.8 KB
分享到:
相关推荐
在这个demo中,可能是将用户信息或图片数据加载到ListView的各个Item中。 6. **错误处理**:当服务器返回错误码或错误信息时,需要在客户端进行相应的错误提示,如弹出Toast或显示错误信息对话框。 7. **缓存策略*...
提交数据通常采用HTTP请求的方式,这里提到的是使用POST方法。Android提供了`HttpURLConnection`或者第三方库如Volley、Retrofit等来实现网络请求。在这个例子中,我们可能会使用`HttpURLConnection`。首先,需要在...
总结,创建一个安卓Android的登录注册页面涉及到多个方面,包括布局设计、UI组件的使用、数据验证、网络请求处理、用户反馈机制等。理解并熟练掌握这些知识点,将有助于构建出高质量的安卓应用。
在Android应用开发中,创建一个类似QQ或微信的登录页面是一项常见的任务,它涉及到界面设计、用户交互以及数据验证等多个方面。本项目“Android 仿QQ微信登录页面”是一个源码示例,适用于毕业设计和论文研究,旨在...
- 设计良好的用户体验,比如加载动画、清晰的错误提示、合理的键盘操作流等,使用户能顺利完成密码重置过程。 以上就是使用Android Studio开发一个忘记密码页面的基本步骤。在整个过程中,需要结合前后端的协作,...
在提交答案时,需要验证用户选择的是否为正确答案,并根据结果更新UI,可能包括显示正确/错误提示,或者直接进入下一个问题。 5. **流程控制**: 应用程序的流程控制是关键,例如,如何按顺序加载问题,如何判断是否...
在Android应用开发中,创建一个登录界面并实现数据保存与回显是常见的需求。这个实例主要涉及以下几个关键知识点: 1. **Activity**:`LoginActivity` 是一个Android应用中的活动(Activity),它是用户界面的基本...
【基于Android的图书管理系统源代码】是一个专门为Android平台设计的应用程序,用于管理和操作图书相关数据。这个系统提供了用户注册、登录以及图书信息管理的核心功能,是开发者学习Android应用开发、数据库管理和...
【Android 底层开发实战:两页登录及Dialog加载、信息保存与OKHttp封装】 在Android应用开发中,底层逻辑的构建是整个项目的核心部分,它涉及到用户界面(UI)的交互、数据处理、网络通信等多个关键环节。本示例...
- 添加错误处理机制,例如在网络请求失败或数据解析出错时给出提示。 - 确保良好的用户体验,比如加载动画、友好的提示信息。 8. **版本控制与项目结构**: - 文件名`Android-Survey-master`暗示这是一个Git仓库...
ViewPager的优点在于它可以自动处理页面的加载和缓存,使得在用户滑动时能够平滑过渡,提高了用户体验。 要使用ViewPager,首先需要在布局文件中添加ViewPager元素,并为其指定适配器。适配器通常是一个实现了...
4. **图片加载库**:为了展示用户头像,可能会使用到像Glide或Picasso这样的图片加载库,这些库可以高效地处理网络图片的下载和缓存。 5. **字体处理**:QQ登录界面可能使用了特定的字体,这需要了解如何在Android...
对于登录和注册页面,我们需要创建包含输入字段和提交按钮的布局,同时考虑输入验证和错误提示的逻辑。在收藏和评价功能中,RecyclerView是关键,因为它允许我们动态加载和展示用户收藏的商品或用户的评价内容。 ...
综上所述,这个开源库为Android开发者提供了一个强大的工具,它不仅能够实现无限循环的页面浏览,还支持多种布局和自定义提示视图,尤其适合用于创建滑动广告、轮播图或任何需要展示多元素流的应用场景。同时,它的...
在这里,它可能被用来调用京东商城提供的Web服务接口,获取或提交需要的数据,比如登录验证、商品搜索、购物车操作等。SOAP消息通常包含XML格式的数据,因此在Android客户端中,需要解析这些XML数据以显示在界面上。...
- 错误提示:在遇到无法加载数据或其他错误时,向用户显示友好的错误提示。 - 提交成绩:提供提交试卷的按钮,用户可以确认答案后提交,同时清空答题记录,以便用户重新答题。 - 回答状态保存:如果用户中途退出...
14. **动画效果**:增加界面交互性,比如按钮按下时的视觉变化,输入框获得焦点时的高亮效果,以及加载进度条的动画。 15. **适配多分辨率**:考虑到Android设备的多样性和屏幕尺寸,需确保界面在不同设备上都能...
- 后端数据变化时,通过WebSocket或其他长连接技术实时同步客户端信息。 5. **聊天功能**: - 文本、图片、语音、视频等多种消息类型的发送与接收,涉及多媒体资源的编码与解码。 - 聊天气泡效果,显示不同类型...
总的来说,这个实战项目涵盖了Android开发的基础,包括UI设计、用户输入处理、数据验证、网络请求以及与服务器的交互。对于初学者来说,通过这个项目可以深入理解Android应用的基本架构和工作原理,同时提升网络编程...