Android:加载时显示屏幕

时间:2012-02-19 07:20:20

标签: android user-interface screen

我正在使用AsyncTask从服务器获取数据,并希望在加载时显示屏幕:

private class GetListTask extends AsyncTask {
    protected void onPreExecute() {
            Intent intent = new Intent();
                intent.setClass(Start.this, Wait.class);
                startActivity(intent);
    }

    protected Bitmap doInBackground(Object... args) {

//这里我从服务器获取数据

        d = getImageFromURL(Start.valuesArray[Integer.parseInt(Value)][7]);
        Bitmap bitmap = ((BitmapDrawable) d).getBitmap();
        double ratio = (double) bitmap.getWidth() / (double) bitmap.getHeight();
        Bitmap scaled = Bitmap.createScaledBitmap(bitmap, width, (int) (width / ratio), true);
        return scaled;
    }

    protected void onPostExecute(Object objResult) {
        if (objResult != null && objResult instanceof Bitmap) {
            Bitmap result = (Bitmap) objResult;

            im.setImageBitmap(result);
        }
    }
}

现在,在onPostExecute()中我需要隐藏这个"等等"再次屏幕,但我该怎么做? 谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

而不是启动不同的活动,您可以在PopupDialog中显示您的图像并在onPostExecute中关闭它

答案 1 :(得分:1)

改为使用此布局......

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <!--  Your actual layout. width & height fill_parent -->

    <ImageView 
        android:id="@+id/wait_image"
        android:layout_width="fill_parent"
        android:visibility="gone"
        android:layout_height="fill_parent"
        android:src="@drawable/wait_screen"
    />
</FrameLayout>

现在在preExecute()上显示等待的图像视图并隐藏实际布局。

postExecute()上隐藏imageView&amp;显示实际布局。