android 数据加载动画:

 

    <FrameLayout
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:id="@+id/rl_loading"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <ProgressBar
                android:layout_centerInParent="true"
                android:id="@+id/pb"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:layout_marginTop="30dp"
                android:layout_below="@+id/pb"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="加载数据中....." />

          
        </RelativeLayout>
    </FrameLayout>
    
      <ListView
                android:id="@+id/lv_black"
                android:layout_below="@+id/rl1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </ListView>

 

 

代码的方式:

 

public class TreasureActivity extends Activity implements OnClickListener {

	private TextView money, integral, bill;
	private LinearLayout addBankCard, transfer, myBankCard, tixian,
	creditCard/* ,taojin */;
	private ExecutorService fixedThreadPool;
	private Bitmap userImg;// 用户头像
	private String yue, allIntegral;
	private Button setting,topay;
	private PreferencesHelper ph;
	private ProgressDialog dialog;
	

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getWindow().requestFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.treasure_activity_layout);
		// 注册默认的未捕捉异常处理类
		Thread.setDefaultUncaughtExceptionHandler(AppException
				.getAppExceptionHandler());
		AppManager.getAppManager().addActivity(this);
		// 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待:
		fixedThreadPool = Executors.newFixedThreadPool(3);
		// Toast.makeText(getApplicationContext(), Constant.portrait, 0).show();
		ph = new PreferencesHelper(getApplicationContext(), Constants.ANZIDate);
		initView();

	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		getMoney();
		getUserData();
	}


	/*
	 * 联网获取用户数据
	 */
	private void getUserData() {
		// 获得用户头像
		if ("null".equals(ph.getValue("portrait"))) {// 用户头像为空
			// userIc.setImageResource(R.drawable.icon_head);
		} else {
			// 获得线程消息
			final Handler handler = new Handler() {
				@Override
				public void handleMessage(Message msg) {
					String s = (String) msg.obj;
					if ("ok".equals(s)) {
						integral.setText(allIntegral);
						dialog.dismiss();
					} else if ("no".equals(s)) {
						Toast.makeText(getApplicationContext(), "系统问题", 1)
						.show();
						dialog.dismiss();
					}
				}
			};
			dialog = ProgressDialog.show(this, null, "正在加载……请稍后", true, true);
			dialog.setCanceledOnTouchOutside(false);
			fixedThreadPool.execute(new Runnable() {
				@Override
				public void run() {
					// TODO Auto-generated method stub
					try {
						String result = Net.yue(Constant.netcard
								+ "/checkpoints.shtml", "uid",
								ph.getValue("uid"));
						// 解析json字符串
						result = result.substring(1, result.length() - 1);
						Log.i("查询结果", result);
						JSONObject jsonObject = new JSONObject(result);
						allIntegral = jsonObject.getString("message");
						// 通知UI
						Message msg = new Message();
						msg.obj = "ok";
						handler.sendMessage(msg);
					} catch (Exception e) {
						e.printStackTrace();
						// 通知UI
						Message msg = new Message();
						msg.obj = "no";
						handler.sendMessage(msg);
					}
				}
			});
		}
	}