1. 程式人生 > >寫一個水平滑動的View

寫一個水平滑動的View

eight height rec 排列 基本 null ted 都是 滑動

保持饑餓,保持愚蠢,我們對待事情本來應該就是這樣的

接下來我要寫一個水平滑動的自寫義,實現效果

技術分享

水平滑動我們有很多種實現方法,recyceryView,HorizontalScrollView都可以,在做過的項目中基本都會用到, 我會把它例出來,一一歸位,學習本應該如此,總結,總結,總結!!!

1.自定義首先要extend一個View,實現裏面的四個方法,當然第四個一般不會用到

  寫構造方法的時候要是有要求的

    1.this(context,null);

     this(context, attrs,0);

     super(context, attrs, defStyleAttr);

    2.直接在每個構造方法裏調用 (切記!!!)

2.調用HintTypedArray.obtainStyleAttributs()來設置一系列的屬性

  文字大小,排列數量等等

  註意這裏 寫的時候要加上上一個節點的名字,用_作連接符。Android中把控件都是這樣,有調理性 在這裏又踩坑了,!!!

  TintTypedArray tintType = TintTypedArray.obtainStyledAttributes(getContext(), attrs, R.styleable.HorizontalSelectedView);

  R.Styleable中的文件必須和自定義的類名是一樣的,這樣保證下面正確的用到 (註意)

  attrs.xml中

  <resources>
    <declare-styleable name="HorizontalselectedView">
      <attr name="HorizontalselectedViewSeesize" format="integer"></attr>

  //在代碼中用這樣的方式得到   R.styleable.HorizontalselectedView_HorizontalselectedViewSeesize

  

  在屬性中經常會遇到畫筆這個屬性,paint,Textpaint


3.在onDraw()方法中開始畫控件的大小了

1.首先考慮件的寬高 getWith();getHeight()

 2.拿到整個數據用畫筆畫出來

寫一個水平滑動的View