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

本文介紹在前面的基礎上增加更多的效果,主要是通過onScrollChanged()方法進行的。

1.滑出菜單時content縮小

首先定義一個scale,其含義爲菜單隱藏的部分佔菜單的比例

float scale = l * 1.0f / (mMenuWidth;
然後定義一個content的縮放比例

float rightScale = 0.7f + 0.3f * scale;
因爲在沒滑動時scale爲1, 滑完後爲0, 所以在沒滑動時rightScale要是1, 滑完後假設爲0.7。

mContent.setScaleX(rightScale);
mContent.setScaleY(rightScale);
但是觀察實際效果時發現縮放是以右側的點味中心的,所以要設置中心點爲mContent的左側中心
mContent.setPivotX(0);
mContent.setPivotY(mContent.getHeight() / 2);
mContent.setScaleX(rightScale);
mContent.setScaleY(rightScale);


2.滑出時菜單放大

與上面相似

float leftScale = 1.0f - 0.3f * scale;
mMenu.setTranslationX(l * 0.7f);
mMenu.setScaleX(leftScale);
mMenu.setScaleY(leftScale);
通過setTranslateX(l * 0.7f)設置延遲效果

alpha類似







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章