我有个问题。
我有 ViewFlipper 的片段和一些字符串数据数组(图像 url)。
如何对这些图像进行延迟加载并显示进度条,直到图像被加载(并尽可能缓存它们)?我可以使用不同的视图(不是 ViewFlipper)吗?
第二个问题。如何使视图显示当前图像位置?比如当前图片下的一系列白点带一个黑色。如果当前图像的第一个- 第一个黑点。谢谢。
我有个问题。
我有 ViewFlipper 的片段和一些字符串数据数组(图像 url)。
如何对这些图像进行延迟加载并显示进度条,直到图像被加载(并尽可能缓存它们)?我可以使用不同的视图(不是 ViewFlipper)吗?
第二个问题。如何使视图显示当前图像位置?比如当前图片下的一系列白点带一个黑色。如果当前图像的第一个- 第一个黑点。谢谢。
谷歌有一个培训班在这里回答你的第一个问题。它向您展示了如何使用AsyncTask在后台加载位图,并使用 LruCache将其缓存在内存中和使用DiskLruCache(包含在链接中的 BitmapFun.zip 下载中)同时显示ProgressBar直到图像已下载
我可以使用不同的视图(不是 ViewFlipper)吗?
上述示例使用 ViewPager。
当前图片下方带有黑色的一系列白点。
我不知道 Android SDK 是否有这样的视图,但是这个第三方小部件(Apache 2.0 许可证)似乎可以满足您的需求。
我如何在 ImageView 和 ProgressBar 上保持链接?
我不确定我是否理解这个问题,但如果您问如何从 ProgressBar(图像正在加载时)转到 ImageView,那么答案是使用 FrameLayout,其中包含 ProgressBar 和 ImageView:
<FrameLayout ...>
<ProgressBar ... />
<ImageView
android:id="@+id/imageView"
... />
</FrameLayout>
(有关更多详细信息,请参阅练习中的 image_detail_fragment.xml)
ImageView 将被绘制在 ProgressBar 的前面,但由于它最初没有背景,也没有图像,因此它将是透明的,并且 ProgressBar 将显示。
然后,您使用它的 id 从您的代码中检索 ImageView,当您将图像加载到您使用的位图中时:
imageView.setImageDrawable(loadedImage);
现在 ImageView 有一个图像,它将不再是透明的,ProgressBar 也不会显示(如果您想将其设置为 View.GONE 以优化您的布局,您也可以在进度条中添加一个 id)。