在显示活动视图后将图像加载到图库中

时间:2012-10-25 06:46:14

标签: android android-layout user-interface android-asynctask android-gallery

我正在开发Android 3.1平板电脑应用程序。

我需要加载并显示一些存储在本地磁盘中的图像。知道UI在图像加载时被冻结并显示在图库上,我想知道是否有另一种方式来显示ui,当显示ui时,显示ProgressDialog然后开始从磁盘加载并显示每个图像。 / p>

我知道怎么开始和Asyntask但我不知道如何在ui展示后做点什么。

我将task.execute()放在OnCreateOnResume上,我看到用户界面冻结。

如何在显示用户界面后执行任务?

如果您需要查看代码,请查看Gallery images still load very slowClassCastException: AbsListView$LayoutParams cannot be cast to Gallery$LayoutParams个问题。

1 个答案:

答案 0 :(得分:0)

首先,你应该在你的画廊(或你决定使用的任何东西)和画廊适配器上有一个活动。在适配器的getView()中,您应该加载图片(getView()是每个图库对象的图库)。 要加载,您应该有这样的方法:

public static Bitmap loadFromPath(String file_path) {
   BitmapFactory.Options options = new BitmapFactory.Options();
   options.inDither = false; // disable dithering
   options.inScaled = false; // do not scale bitmap when loading; scale later
   options.inPreferredConfig = Bitmap.Config.ARGB_8888;
   Bitmap backgroundBitmap = null;
    try {
         backgroundBitmap = BitmapFactory.decodeFile(file_path, options);
     } catch (OutOfMemoryError e) {
          e.printStackTrace();
     }
     return backgroundBitmap;

}

这个返回的位图可用于在getView()中设置imageView的源代码。 如果您有任何问题,请告诉我们!