課程
/移動開發(fā)
/Android
/QQ5.0側(cè)滑菜單
老師說的那個數(shù)字的范圍看不懂什么意思?為什么scale:1~0。那個數(shù)字都是定的么還是自己定的?
2016-04-07
源自:QQ5.0側(cè)滑菜單 1-6
正在回答
你可以看下scrollTo的API和源碼,它里面調(diào)用了onScrollChanged
數(shù)字的范圍是由程序代碼決定的,float scale = l * 1.0f / mMenuWidth;l表示當前的水平滾動距離,由于程序最開始的時候通過系統(tǒng)onLayout回調(diào)方法中的scrollTo方法將自定義ScrollView水平移動了mMenuWidth的寬度,然后觸發(fā)onScrollChanged方法,那么這時候由上面公式得到scale=1,然后手指向右觸發(fā)滑動的過程中會觸發(fā)onScrollChanged方法,動態(tài)減小l的值(注意向右是減小,向左滑動是增大),所以這里的scale為0~1。你調(diào)試看看就知道了
舉報
本教程將帶領大家通過自定義控件實現(xiàn)QQ5.0側(cè)滑菜單
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-04-09
你可以看下scrollTo的API和源碼,它里面調(diào)用了onScrollChanged
2016-04-09
數(shù)字的范圍是由程序代碼決定的,float scale = l * 1.0f / mMenuWidth;l表示當前的水平滾動距離,由于程序最開始的時候通過系統(tǒng)onLayout回調(diào)方法中的scrollTo方法將自定義ScrollView水平移動了mMenuWidth的寬度,然后觸發(fā)onScrollChanged方法,那么這時候由上面公式得到scale=1,然后手指向右觸發(fā)滑動的過程中會觸發(fā)onScrollChanged方法,動態(tài)減小l的值(注意向右是減小,向左滑動是增大),所以這里的scale為0~1。你調(diào)試看看就知道了