綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] [問題已解決]listview滑動時,會出現layout設定的背景圖

[複製連結] 查看: 1293|回覆: 3|好評: 0
跳轉到指定樓層
樓主
xjxuvup | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-6-3 09:43

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 xjxuvup 於 2013-6-3 14:42 編輯

問題已經解決了,我找了很多文章,最後看到imageview的設置圖片方法,setImageDrawable();
我就試試這個方法,沒想到解決了,因為我之前都是設定背景(setBackgroundDrawable)的方式,因此都會出現我一開始說的那個問題。


如題,listview在滑動的時候,有一些item會變成layout的背景圖,請問各位有解決方式嗎?
不是一般說的會變成黑色的問題,那個我有查過了,屬性也設定了。



                               
登錄/註冊後可看大圖

如下圖箭頭的地方
上面是layout的底圖
下面是正常的背景圖
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 1幫助 +1 收起 理由
ploglin + 1

查看全部評分

收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2013-6-3 10:20
listview 有一個 cacheColorHint 的屬性,可以設定當 listview 被捲動時的樣式,你可以把他設定透明或是你自訂的圖片。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| xjxuvup | 收聽TA | 只看該作者
發表於 2013-6-3 10:38
上面兩種我都試過了
透明的話無效,設定成背景圖,會跳掉。
另外,我講一下我之前的做法
在setView裡面直接設定讀取出來得圖片
這樣做不會出現背景圖的現象
後來因為讀出來的圖片會模糊

所以我用AsyncTask讀取圖片,然後轉成drawable,再放到imageview
但是這樣就會出現最上面我說的那種情況
看logcat也沒出現比較奇怪的訊息
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
 樓主| xjxuvup | 收聽TA | 只看該作者
發表於 2013-6-3 11:18
本帖最後由 xjxuvup 於 2013-6-3 11:19 編輯
  1.   new AsyncTask<Context, Void, Void>(){

  2.                         @Override
  3.                                         imageLoader=new ImageLoader(getApplicationContext()); //假如用以下這兩行,就不                      會出現我說的問題,但是跑出來的圖片會模糊掉。
  4.                                         imageLoader.DisplayImage(ne.picture01, holder.image);
  5.                                 } catch (Exception e){
  6.                                        
  7.                                 }
  8.                                 return null;
  9.                         }
  10.                        
  11.                 }.execute();
複製代碼
如果用下面這段,就會出現背景圖跑出來的問題
  1.   new AsyncTask<Context, Void, Void>(){

  2.                         @Override
  3.                         protected Void doInBackground(Context... arg0) {
  4.                                 // TODO Auto-generated method stub
  5.                                 Bitmap bitmap = null;
  6.                                 Drawable drawable;
  7.                                 try{
  8.                                         URL url = new URL(ne.picture01);
  9.                                         HttpURLConnection connection = (HttpURLConnection)url.openConnection();
  10.                                         connection.setDoInput(true);
  11.                                         connection.connect();
  12.                                         InputStream inputStream = connection.getInputStream();
  13.                                         bitmap = BitmapFactory.decodeStream(inputStream);
  14.                                         inputStream.close();
  15.                                         drawable = new BitmapDrawable(bitmap);
  16.                                         holder.image.setBackgroundDrawable(drawable);
  17.                                 } catch (Exception e){
  18.                                        
  19.                                 }
  20.                                 return null;
  21.                         }
  22.                        
  23.                 }.execute();
複製代碼
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則