使用HorizontalScrollView實現側滑效果(2)

之前實現的側滑效果是menu一點一點的出來,先出來的是右側,今天實現一個類似抽屜的側滑效果,就是在劃出菜單時首先出現的是menu的左側,好像menu是被content遮住了一樣。

其實代碼很簡單,就是在上一篇的基礎上在SlidingMenu中複寫onScrollChanged()方法。

@Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        super.onScrollChanged(l, t, oldl, oldt);
        mMenu.setTranslationX(l);
    }

View的setTranslationX方法是設置偏移量,l表示當前滾動條的位置,由於之前在onLayout中調用了scrollTo(),所以l的初始值就是mMenuWidth。

當向右滑動時,l減小,假設menu出現的部分寬度爲x那麼mMenu就需要向右偏移mMenuWidth-x來保證menu左側挨着屏幕左側,而mMenuWidth-x恰好就是l,因爲初始值爲mMWnuWIdth,向右滑x就減少x,所以偏移l就可以了。

發佈了40 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章