6

で動作しない:setAlpha()はRecyclerView.Adapter内で次のコードを使用して第1の表示

onBindViewHolder(VH holder, int position){ 
    holder.itemView.setAlpha(0.5f); 
} 

アルファ項目が示されて初めて表示されません。しかし、画面を離れて戻ってくると、アルファが正確に表示されます。値は設定されていますが、表示されるまで表示されません。どのようにsetAlpha()を最初の表示に反映させるかに関するアイデア。アニメーターを使用した場合

答えて

9

内部

class ViewHolder extends RecyclerView.ViewHolder{ 
... 
... 
    public ViewHolder(View v){ 
     super(v); 
     ... 
     ... 
     itemView.setAlpha(0.5f); 
    } 
} 

だけでなく、ホルダーの作成中にsetAlpha()を必ず設定してください、これはAndroidなど(のみ起こります.support.v7.widget.DefaultItemAnimator)これは、ビューに設定されているアルファをクリアします。あなたは

RecyclerView.setItemAnimator(null);

を使用することができますし、アルファは

2

onBindViewHolder()さらに調査した後

onBindViewHolder(VH holder, int position){ 
    holder.itemView.setAlpha(0.5f); 
} 
+0

https://developer.android.com/reference/android/view/View.html#setAlpha(float) アルファが実際にフロートでセットされたままです0から1の間の値 –

+0

あなたは正しいです、私は私の答えを編集しました。 – Jorgesys

関連する問題