2017-07-17 99 views
1

我有一個簡單的用例。我有一個本地圖像URI(content://path),我加載到ImageView - 這是第1步按下一個按鈕後,圖像被替換爲我們的服務器的圖像 - 這是第2步滑動顯示ImageView背景之間的加載圖像

我的代碼非常簡單 - 或者至少,我可以重現該問題即使我簡化了代碼如下:

Glide.with(imageHolder.getContext()).load(url).into(imageHolder); 

第一次,這就是所謂的與本地URI(content://path),其次是遠程URL(http://path.com) 。

加載本地uri工程就好了。問題是,一旦我從服務器啓動加載(可能需要一秒),Glide會回滾到ImageView的背景圖像顏色。因此,視覺上我得到舊圖像 - >背景顏色 - >新圖像,這是很煩人的。

Glide是否有某種隱藏方式來解決這個問題?

回答

2

這是因爲在加載服務器映像時,在刪除本地映像和顯示新映像之間存在差距,並且該差距是您的問題。
此問題的一個解決方法是給Glide一個佔位符(將本地圖像設置爲佔位符),以便在Glide從服務器加載圖像時它仍顯示本地圖像,一旦加載服務器圖像,本地圖像將消失。

Glide.with(imageHolder.getContext()) 
    .placeholder(YOUR_LOCAL_IMAGE_HERE) 
    .load(url) 
    .into(imageHolder); 
+0

令人敬畏的workround。結束了'.placeholder(imageHolder.getDrawable())' – vkislicins