第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

[Android]NumberPickerCompat,對(duì)NumberPicker的簡(jiǎn)單擴(kuò)展,改善易用性

標(biāo)簽:
Android
public class NumberPickerCompat extends NumberPicker implements NumberPicker.OnScrollListener,NumberPicker.OnValueChangeListener{

    private OnNumberPickerChangedListener mListener;
    private int selected;

    public NumberPickerCompat(Context context) {
        super(context);
        init();
    }

    public NumberPickerCompat(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public NumberPickerCompat(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    public NumberPickerCompat(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        init();
    }

    private void init(){
        this.setOnScrollListener(this);
        this.setOnValueChangedListener(this);
    }

    public void setNumberPickerChangedListener(OnNumberPickerChangedListener listener){
        mListener = listener;
    }

    /**
     * 通过反射改变分割线颜色,
     */
    public void setPickerDividerColor(int color) {
        Field[] pickerFields = NumberPicker.class.getDeclaredFields();
        for (Field pf : pickerFields) {
            if (pf.getName().equals("mSelectionDivider")) {
                pf.setAccessible(true);
                try{
                    pf.set(this,new ColorDrawable(color));
                }catch (IllegalAccessException e) {
                    e.printStackTrace();
                }catch (Resources.NotFoundException e) {
                    e.printStackTrace();
                }catch (IllegalArgumentException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    /**
     * 过反射改变文字的颜色
     */
    public void setPickerTextColor(int color) {
        final int count = getChildCount();
        for(int i = 0; i < count; i++){
            View child = getChildAt(i);
            if(child instanceof EditText){
                try{
                    Field selectorWheelPaintField = getClass().getSuperclass().getDeclaredField("mSelectorWheelPaint");
                    selectorWheelPaintField.setAccessible(true);
                    ((Paint)selectorWheelPaintField.get(this)).setColor(color);
                    ((EditText)child).setTextColor(color);
                    invalidate();
                }
                catch(NoSuchFieldException e){
                    e.printStackTrace();
                }
                catch(IllegalAccessException e){
                    e.printStackTrace();
                }
                catch(IllegalArgumentException e){
                    e.printStackTrace();
                }
            }
        }
    }

    @Override
    public void onScrollStateChange(NumberPicker view, int scrollState) {
        switch (scrollState){
            case SCROLL_STATE_TOUCH_SCROLL:
                mListener.startScroll(this);
                break;
            case SCROLL_STATE_FLING:

                break;
            case SCROLL_STATE_IDLE:
                mListener.stopScroll(this,selected,getDisplayedValues() != null ? true : false);
                break;
        }
    }

    @Override
    public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
        mListener.scrolling(this,newVal,getDisplayedValues() != null ? true : false);
        selected = newVal;
    }

    public interface OnNumberPickerChangedListener{

        public void startScroll(NumberPickerCompat picker);
        public void scrolling(NumberPickerCompat picker,int selected,boolean isPosition);
        public void stopScroll(NumberPickerCompat picker,int selected,boolean isPosition);

    }
}


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消