2009-10-07 8 views
5

何らかの理由で、アイテムのリストをスクロールするたびに、リストビュー内の背景が消えて再表示され、本当に欲しくない「ちらつき」効果が発生します。私は提案を試した:How to make a ListView transparent in Android?しかし何らかの理由で動作しません。助言がありますか?Android:ListViewフリッカーエフェクト。どのようにこれを取り除くためのヒント?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/screenLayout" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/background" 
    > 
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:background="@color/title_background" 
      android:text="@string/whatsnew_title" 
      > 
     </TextView> 
     <ListView 
      android:id="@android:id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      > 
     </ListView>  
</LinearLayout> 

答えて

21

android:cacheColorHint="#00000000"を含めましたか?これは、提案された修正の最も重要な部分です。私はちょうどあなたのコード(それはプロジェクト固有のリソースへの参照を使用しているように、明らかに正確な複製ではない)を試してみたところ、うまくいくようです。

This post on the Android Developers blogは興味があります。

+0

恐ろしい...あなたは私を信じません。 ..私はcacheColorHintを付けてみましたが、私が見つけたすべてのリソースはアンドロイド:cacheColorHint = "#000000"(アルファについては何も言わなかったことに気づくでしょう)...そして今、ロット! – Legend

+0

偉大な答え男。 –

+0

偉大で簡単な応答と一握り!!! –

1

<item name="android:windowBackground">@null</item>のtheme.xmlを確認してください。もしあなたがそれを持っていればそれを取り除いてください。私は、人気のあるリソースの1つが、この行を例として挙げていると思います(これは私のものです)。

+0

私は実際にはカスタムtheme.xmlを持っていません。私が作成することを提案していますか? – Legend

+0

あなたはそれを試してみることができます - 私は自分の設定画面(これはListViewです)でも同様の問題がありましたが、私はカスタムtheme.xmlと私の回答にある項目を持っていました – Bostone

2

これはJava(コード)側からも達成できます:listView.setCacheColorHint(Color.TRANSPARENT);

関連する問題