// Path: app/src/main/java/com/demo/amazing/widget/FadingTextView.java
// public class FadingTextView extends android.support.v7.widget.AppCompatTextView {
// 
//     private Paint paint;
// 
//     private int height;
// 
//     private int width;
// 
//     private RectF rectF;
// 
//     public FadingTextView(Context context) {
//         super(context);
//     }
// 
//     public FadingTextView(Context context, AttributeSet attrs) {
//         super(context, attrs);
//     }
// 
//     public FadingTextView(Context context, AttributeSet attrs, int defStyleAttr) {
//         super(context, attrs, defStyleAttr);
//     }
// 
//     @Override
//     protected void onSizeChanged(int w, int h, int oldw, int oldh) {
//         super.onSizeChanged(w, h, oldw, oldh);
//         height = h;
//         width = w;
//         initPaint();
//         rectF = new RectF(0, 0, w, h);
//     }
// 
//     public void setFading(float alpha) {
//         if (alpha < 0) {
//             alpha = 0.0f;
//         } else if (alpha > 1) {
//             alpha = 1.0f;
//         }
//         int endC = Color.argb((int) (alpha * 255), 0, 0, 0);
//         paint.setShader(new LinearGradient(0, 0, 0, height, 0X00000000, endC, Shader.TileMode.CLAMP));
//         setAlpha(alpha);
//         invalidate();
//     }
// 
//     private void initPaint() {
//         paint = new Paint();
//         paint.setAntiAlias(true);
//         //paint.setShader(new LinearGradient(0, 0, 0, height, 0X00000000, 0X00000000, Shader.TileMode.CLAMP));
//         paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
//     }
// 
//     @Override
//     protected void onDraw(Canvas canvas) {
//         super.onDraw(canvas);
// //        if (height != 0) {
// //            canvas.drawRoundRect(rectF, 30.0f, 30.0f, paint);
// //        }
//     }
// }


import android.content.Context;
import android.content.Intent;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.demo.amazing.R;
import com.demo.amazing.widget.FadingTextView;
import java.util.ArrayList;
import java.util.List;
import static com.demo.amazing.R.id.recycler_view;
        }
        return datas;
    }

    public class DataAdapter extends RecyclerView.Adapter<DataAdapter.DataViewHolder> {


        @Override
        public DataViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            return new DataViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.data_item_view,
                    parent, false));
        }

        @Override
        public void onBindViewHolder(DataViewHolder holder, int position) {
            holder.textView.setText(datas.get(position));
            holder.itemView.setAlpha(1.0f);
        }

        @Override
        public int getItemCount() {
            return datas == null ? 0 : datas.size();
        }

        public class DataViewHolder extends RecyclerView.ViewHolder {

            FadingTextView textView;

            public DataViewHolder(View itemView) {
                super(itemView);
// Path: app/src/main/java/com/demo/amazing/widget/FadingTextView.java
// public class FadingTextView extends android.support.v7.widget.AppCompatTextView {
// 
//     private Paint paint;
// 
//     private int height;
// 
//     private int width;
// 
//     private RectF rectF;
// 
//     public FadingTextView(Context context) {
//         super(context);
//     }
// 
//     public FadingTextView(Context context, AttributeSet attrs) {
//         super(context, attrs);
//     }
// 
//     public FadingTextView(Context context, AttributeSet attrs, int defStyleAttr) {
//         super(context, attrs, defStyleAttr);
//     }
// 
//     @Override
//     protected void onSizeChanged(int w, int h, int oldw, int oldh) {
//         super.onSizeChanged(w, h, oldw, oldh);
//         height = h;
//         width = w;
//         initPaint();
//         rectF = new RectF(0, 0, w, h);
//     }
// 
//     public void setFading(float alpha) {
//         if (alpha < 0) {
//             alpha = 0.0f;
//         } else if (alpha > 1) {
//             alpha = 1.0f;
//         }
//         int endC = Color.argb((int) (alpha * 255), 0, 0, 0);
//         paint.setShader(new LinearGradient(0, 0, 0, height, 0X00000000, endC, Shader.TileMode.CLAMP));
//         setAlpha(alpha);
//         invalidate();
//     }
// 
//     private void initPaint() {
//         paint = new Paint();
//         paint.setAntiAlias(true);
//         //paint.setShader(new LinearGradient(0, 0, 0, height, 0X00000000, 0X00000000, Shader.TileMode.CLAMP));
//         paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
//     }
// 
//     @Override
//     protected void onDraw(Canvas canvas) {
//         super.onDraw(canvas);
// //        if (height != 0) {
// //            canvas.drawRoundRect(rectF, 30.0f, 30.0f, paint);
// //        }
//     }
// }


// Path: app/src/main/java/com/demo/amazing/activity/FadingActivity.java
import android.content.Context;
import android.content.Intent;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.demo.amazing.R;
import com.demo.amazing.widget.FadingTextView;
import java.util.ArrayList;
import java.util.List;
import static com.demo.amazing.R.id.recycler_view;

        }
        return datas;
    }

    public class DataAdapter extends RecyclerView.Adapter<DataAdapter.DataViewHolder> {


        @Override
        public DataViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            return new DataViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.data_item_view,
                    parent, false));
        }

        @Override
        public void onBindViewHolder(DataViewHolder holder, int position) {
            holder.textView.setText(datas.get(position));
            holder.itemView.setAlpha(1.0f);
        }

        @Override
        public int getItemCount() {
            return datas == null ? 0 : datas.size();
        }

        public class DataViewHolder extends RecyclerView.ViewHolder {

            FadingTextView textView;

            public DataViewHolder(View itemView) {
                super(itemView);
                textView = (FadingTextView) itemView.findViewById(R.id.text_view);