还是先上图:
这个布局很容易,一个进度条控件和一个文本框控件放在线性布局及ok了,然后设置这个线性布局的背景,宽高。外层再套个布局就行了,看代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<LinearLayout
android:layout_width="180dp"
android:layout_height="180dp"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/loading_bg">
<ProgressBar
android:id="@+id/loading_progressbar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/loading_texview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="正在登录"
android:textColor="#ffffff"
android:textSize="20sp" >
</TextView>
</LinearLayout>
</RelativeLayout>
在java程序里,就跟前面的启动界面一样道理,开个线程让进度条跑起来就ok,本来加载的时间是要根据网络获取的,这里就假设了个时间:
package com.myandroid.meituan;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import android.widget.ProgressBar;
public class LoadingActivity extends Activity {
private ProgressBar mpProgressBar;
private Handler mHandler=new Handler();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_loading);
mpProgressBar=(ProgressBar) findViewById(R.id.loading_progressbar);
mHandler.postDelayed(new Runnable(){
public void run() {
startActivity( new Intent(LoadingActivity.this,NavbarActivity.class));
finish();
}
}, 3000);
}
}