最近,项目中需要添加一个横向滚动选择的控件,本想偷个懒,于是遍寻网上的各种博客,最终发现均不太合适。无奈,只好硬着头皮赶鸭子上架,撸起袖子就是干。
效果截图如下:
image
废话不多说,直接上代码。
package com.pal.othertrain.view;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.support.annotation.Nullable;
import android.support.v7.widget.TintTypedArray;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import com.pal.othertrain.R;
import java.util.ArrayList;
import java.util.List;
public class HorizontalSelectedView extends View {
private Context context;
private List strings;
private int seeSize;
private int anInt;
private TextPaint textPaint;
private boolean firstVisible;
private int width;
private int height;
private Paint selectedPaint;
private int index;
private float downX;
private float anOffset;
private float selectedTextSize;
private int selectedColor;
private float textSize;
private int textColor;
priv