// Path: app/src/main/java/com/oakzmm/demoapp/utils/DensityUtil.java
// public class DensityUtil {
// 
// 	public static int dip2px(Context context, float dpValue) {
// 		final float scale = context.getResources().getDisplayMetrics().density;
// 		return (int) (dpValue * scale + 0.5f);
// 	}
// 
// 	public static int px2dip(Context context, float pxValue) {
// 		final float scale = context.getResources().getDisplayMetrics().density;
// 		return (int) (pxValue / scale + 0.5f);
// 	}
// 
// 	/**
// 	 * 获取控件的高度，如果获取的高度为0，则重新计算尺寸后再返回高度
// 	 * 
// 	 * @param view
// 	 * @return
// 	 */
// 	public static int getViewMeasuredHeight(View view) {
// 		// int height = view.getMeasuredHeight();
// 		// if(0 < height){
// 		// return height;
// 		// }
// 		calcViewMeasure(view);
// 		return view.getMeasuredHeight();
// 	}
// 
// 	/**
// 	 * 获取控件的宽度，如果获取的宽度为0，则重新计算尺寸后再返回宽度
// 	 * 
// 	 * @param view
// 	 * @return
// 	 */
// 	public static int getViewMeasuredWidth(View view) {
// 		// int width = view.getMeasuredWidth();
// 		// if(0 < width){
// 		// return width;
// 		// }
// 		calcViewMeasure(view);
// 		return view.getMeasuredWidth();
// 	}
// 
// 	/**
// 	 * 测量控件的尺寸
// 	 * 
// 	 * @param view
// 	 */
// 	public static void calcViewMeasure(View view) {
// 		int width = View.MeasureSpec.makeMeasureSpec(0,
// 				View.MeasureSpec.UNSPECIFIED);
// 		int height = View.MeasureSpec.makeMeasureSpec(0,
// 				View.MeasureSpec.UNSPECIFIED);
// 		view.measure(width, height);
// 	}
// }


import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import com.oakzmm.demoapp.utils.DensityUtil;
import java.util.ArrayList;
import java.util.List;

    private void initData() {
        displayItemCount = offset * 2 + 1;
        selectedIndex = offset;
        views.removeAllViews();
        for (String item : items) {
            views.addView(createView(item));
        }
        refreshItemView(0);
        int childCount = views.getChildCount();

        for (int i = 0; i < childCount; i++) {
            View view = views.getChildAt(i);
            view.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onItemClickListener != null) {
                        onItemClickListener.onItemClick(getSelectedIndex());
                    }
                }
            });
        }
//        views.postInvalidateDelayed(500);
//        init(context);
    }

    private TextView createView(String item) {
        final TextView tv = new TextView(context);
        tv.setLayoutParams(new LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
// Path: app/src/main/java/com/oakzmm/demoapp/utils/DensityUtil.java
// public class DensityUtil {
// 
// 	public static int dip2px(Context context, float dpValue) {
// 		final float scale = context.getResources().getDisplayMetrics().density;
// 		return (int) (dpValue * scale + 0.5f);
// 	}
// 
// 	public static int px2dip(Context context, float pxValue) {
// 		final float scale = context.getResources().getDisplayMetrics().density;
// 		return (int) (pxValue / scale + 0.5f);
// 	}
// 
// 	/**
// 	 * 获取控件的高度，如果获取的高度为0，则重新计算尺寸后再返回高度
// 	 * 
// 	 * @param view
// 	 * @return
// 	 */
// 	public static int getViewMeasuredHeight(View view) {
// 		// int height = view.getMeasuredHeight();
// 		// if(0 < height){
// 		// return height;
// 		// }
// 		calcViewMeasure(view);
// 		return view.getMeasuredHeight();
// 	}
// 
// 	/**
// 	 * 获取控件的宽度，如果获取的宽度为0，则重新计算尺寸后再返回宽度
// 	 * 
// 	 * @param view
// 	 * @return
// 	 */
// 	public static int getViewMeasuredWidth(View view) {
// 		// int width = view.getMeasuredWidth();
// 		// if(0 < width){
// 		// return width;
// 		// }
// 		calcViewMeasure(view);
// 		return view.getMeasuredWidth();
// 	}
// 
// 	/**
// 	 * 测量控件的尺寸
// 	 * 
// 	 * @param view
// 	 */
// 	public static void calcViewMeasure(View view) {
// 		int width = View.MeasureSpec.makeMeasureSpec(0,
// 				View.MeasureSpec.UNSPECIFIED);
// 		int height = View.MeasureSpec.makeMeasureSpec(0,
// 				View.MeasureSpec.UNSPECIFIED);
// 		view.measure(width, height);
// 	}
// }


// Path: app/src/main/java/com/oakzmm/demoapp/view/WheelView.java
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import com.oakzmm.demoapp.utils.DensityUtil;
import java.util.ArrayList;
import java.util.List;


    private void initData() {
        displayItemCount = offset * 2 + 1;
        selectedIndex = offset;
        views.removeAllViews();
        for (String item : items) {
            views.addView(createView(item));
        }
        refreshItemView(0);
        int childCount = views.getChildCount();

        for (int i = 0; i < childCount; i++) {
            View view = views.getChildAt(i);
            view.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onItemClickListener != null) {
                        onItemClickListener.onItemClick(getSelectedIndex());
                    }
                }
            });
        }
//        views.postInvalidateDelayed(500);
//        init(context);
    }

    private TextView createView(String item) {
        final TextView tv = new TextView(context);
        tv.setLayoutParams(new LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                DensityUtil.dip2px(context,50)));