自定义view_可滑动的刻度尺,身高、金额选择都可用

这篇博客介绍了如何在Android应用中创建一个自定义的滑动刻度尺组件,用于选择身高或金额。通过滑动刻度,用户可以便捷地设定数值,同时TextView会实时显示所选金额。文章提供了关键的代码实现,包括styleable相关代码,可以直接应用于项目中。
摘要由CSDN通过智能技术生成

产品中的需求是 要用到滑动刻度尺的方式选择金额。

如下图,刻度的部分可以左右滑动选择金额,借款金额TextView跟着联动

中间的大箭头是固定在布局中的,跟刻度尺无关。上主要代码:

/**
 * @创建者 wenqi
 * @创建时间 2019/3/13 19:30
 * @描述 自定义刻度尺View
 */
public class ScaleView extends View {

    private Context  mcontext;
    private int      mMax; //最大刻度
    private int      mMin; // 最小刻度
    private int      mScrollMaxValue; // 可滑动到的最大刻度
    private int      mScrollMinValue; // 可滑动到的最小刻度
    private int      mScaleMargin; //刻度间距
    private int      mScaleHeight; //刻度线的高度
    private int      iScaleHeight; //整刻度线高度
    private int      mCountScale; //滑动的总刻度
    private int      mWith; // 屏幕宽度
    private int      paintLinewidth;
    private int      allWidth; //总宽度
    private int      mHeight; //高度
    private int      textSize;
    private Scroller mScroller; // 滑动类
    private int      mLastX; // 滑动的坐标
    private int      direction; // 用于判断滑动方向
    private int      mMidScale; //中间刻度
    private Paint    paint; // 画笔

    boolean is = true;
    protected OnScrollListener mScrollListener;

    public interface OnScrollListener {
        void onScaleScroll(int scale);
    }

    public ScaleView(Context context) {
        super(context);
    }


    public ScaleView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        mcontext = context;
        getAtt(attrs);
        //  init();
    }

    /**
     * 初始化
     */
    private void init() {


    }

    private void getAtt(AttributeSet attrs) {
        TypedArray typedArray = mcontext.obtainStyledAttributes(attrs, R.styleable.ScaleView);
        mMin = typedArray.getInt(R.styleable.ScaleView_scale_view
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值