亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

android - 為 AppBarLayout 設置的背景圖片 TransitionDrawable 為什么只在第一次打開的時候有效?

瀏覽:141日期:2024-09-04 15:02:38

問題描述

預期的效果是點擊用戶頭像后使用 ImageRequest 下載圖片,然后給新的 Activity AppBayLayout 背景切換設置一個過渡效果,大致的實現代碼如下:

mQueue = CustomVolleyRequestQueue.getInstance(getApplicationContext()) .getRequestQueue();mAppBarLayout = (AppBarLayout) findViewById(R.id.app_bar_layout);ImageRequest imageRequest = new ImageRequest(mProfile.getString('profile_image_url'), new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap response) {Drawable[] drawables = new Drawable[2];drawables[0] = mAppBarLayout.getBackground();drawables[1] = new BitmapDrawable(getResources(), StackBlur.blur(response, 20, false));TransitionDrawable trans = new TransitionDrawable(drawables);mAppBarLayout.setBackground(trans);trans.startTransition(400); }}, 0, 0, null, null, null);mQueue.add(imageRequest);

現在遇到的問題時第一次點擊用戶頭像啟動用戶頁面 Activity 可以正確看到過渡效果,按返回鍵彈出之后再次點擊同一個用戶頭像就不再顯示過渡效果了,而是直接由 drawables[0] 變為 drawables[1]。

android - 為 AppBarLayout 設置的背景圖片 TransitionDrawable 為什么只在第一次打開的時候有效?

請問這個問題應該怎么解決?是因為頭像圖片被緩存引起了什么問題嗎?

問題解答

回答1:

會不會是因為你點返回鍵后 drawables[0] = mAppBarLayout.getBackground();得到的drawable就是你之前設置的TransitionDrawable

回答2:

打斷點調試下

回答3:

目測是圖片緩存,不過你可以自己先不進行網絡請求下載圖片,設置個本地圖片替代網絡圖片進行測試下。

回答4:

動畫時間調長一點呢?

回答5:

這上面用到的模糊類StackBlur,是開源的嗎? 求地址

相關文章:
主站蜘蛛池模板: 欧美亚洲在线视频 | 欧美一区二区三区播放 | 午夜影院一区二区 | 日本黄色一区 | 欧美日本韩国国产 | 免费看大黄高清网站视频在线 | 欧美亚洲国产一区 | 亚洲在线不卡 | 亚洲免费视频网 | 黄色欧美一级片 | 国产精品一区二区不卡的视频 | 欧美日韩国产成人综合在线影院 | 久久久久久天天夜夜天天 | 97视频免费播放观看在线视频 | 日韩一级片免费观看 | 东京道区二区三区 | 国产精品九九 | 久久窝窝国产精品午夜看15 | 国产性大片免费播放网站 | 日本特黄特色大片免费视频观看 | 草草视频免费在线观看 | 中文字幕中出在线 | 中文激情 | 喷潮白浆直流在线播放 | 国产精品三级在线播放 | 欧美黄色性生活 | 老年人一级特黄aa大片 | 美国黄色片免费看 | 欧美五月婷婷 | 久久91av| 无遮挡啪啪成人免费网站 | 在线成h人视频网站免费观看 | 亚洲精品日韩一区二区 | 免费观看爱爱视频 | 中国欧美日韩一区二区三区 | 国产成人精品免费视频大全五级 | 日韩精品亚洲一级在线观看 | 一级黄色录像免费观看 | 第一页综合 | x8x8国产在线观看2021 | 国产无遮挡又爽又色又刺激 |