我有一個ImageView設置爲片段的背景(imageview在寬度和高度上均設置爲match_parent),scaletype設置爲centerCrop。我下載一張圖像以便異步放入,並在下載完成後使用TransitionDrawable進行交叉淡入淡出。Android TransitionDrawable:片段恢復後的圖像縮放類型更改
圖像第一次出現時使用了正確的scaletype,但是如果我導航到另一個片段,然後返回到以imageview爲背景的片段,圖像會顯示扭曲/拉伸(看起來像imageView設置爲fitXY相反)
如果我不使用TransitionDrawable圖像保持他們應該看。
是否有一個TransitionDrawable等價物保持正確的寬高比?還是有什麼我需要設置TransitionDrawable來防止這種調整大小?
我真正想要做的是在圖像之間有一個很好的過渡。我正在考慮將圖像設置爲TransitionDrawable的第二層,一旦它完成動畫,但沒有辦法監視動畫何時完成...
編輯:我想我會提及圖像是不一樣的尺寸,不知道是否有差別
編輯2:這裏是設置繪製代碼:不同尺寸的
//code above to download image
BitmapDrawable bitmapDrawable = new BitmapDrawable(imageview.getResources(), bitmap);
TransitionDrawable transitionDrawable = new TransitionDrawable(new Drawable[]{imageview.getDrawable(), bitmapDrawable});
imageview.setImageDrawable(transitionDrawable);
transitionDrawable.startTransition(300);
你在哪裏使用TD?作爲背景可繪製還是作爲圖像可繪製? – pskink
我使用ImageView中已存在的佔位符drawable(使用ImageView.getDrawable())創建TransitionDrawable,並且新下載的Bitmap(作爲BitmapDrawable)然後使用ImageView.setImageDrawable()設置轉換可繪製。 – AndroidNoob
你用過setBackgroundDrawable嗎?如果是這樣,不要這樣做,因爲它拖動Drawable – pskink