亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求解答鴻神的旋轉中心是怎么定的

沒看懂什么意思,為啥旋轉中心在變化

正在回答

1 回答

public class RotateTransformer implements ViewPager.PageTransformer {
??? //最大旋轉角度
??? public static final float MAX_ROTATE = 15;

???
//page:左右兩個圖片
??? //position<0時,page表示左頁
??? //position>0時,page表示右頁
??? //position:左右兩頁的滑動比例
??? //1)左頁滑出,右頁滑入:
??? //左頁的position: ( 0 -> -1 )
??? //右頁的position:( 1 -> 0 )
??? //2)右頁滑出,左頁滑入:
??? //左頁的position: ( -1 -> 0 )
??? //右頁的position:( 0 -> 1 )
??? @Override
??? public void transformPage(View page, float position) {

??????? //旋轉中心點:當前頁面的左上角頂點
??????? //旋轉角度正值方向:順時針
??????? //左頁移出屏幕時
??????? if (position < -1) { // [-Infinity,-1)
??????????? //左頁逆時針旋轉
??????????? //旋轉中心:左頁的右下角頂點
??????????? //旋轉角度:逆時針旋轉到最大值
??????????? page.setRotation(-MAX_ROTATE);
???????????
page.setPivotX(page.getWidth());
???????????
page.setPivotY(page.getHeight());
???????
}
??????? //左右頁面都在在屏幕內時
??????? else if (position <= 1) { // [-1,1]
??????????? //左邊頁面逆時針旋轉
??????????? //旋轉中心點:底邊中心點->右下角頂點
??????????? //旋轉角度:逆時針旋轉
??????????? if(position<0){
??????????????? //動態調整旋轉中心點
??????????????? float pivotX = 0.5f * page.getWidth() + 0.5f * page.getWidth() * Math.abs(position);
???????????????
float pivotY = page.getHeight();
???????????????
page.setPivotX(pivotX);
???????????????
page.setPivotY(pivotY);
???????????????
//動態調整旋轉角度
??????????????? float roateAngl = MAX_ROTATE * position;
???????????????
page.setRotation(roateAngl);
???????????
}
??????????? //左邊頁面逆時針旋轉
??????????? //旋轉中心點:底邊中心點->左下角頂點
??????????? //旋轉角度:順時針旋轉
??????????? else
??????????? {
??????????????? //動態調整旋轉中心點
??????????????? float pivotX = 0.5f * page.getWidth() * (1-Math.abs(position));
???????????????
float pivotY = page.getHeight();
???????????????
page.setPivotX(pivotX);
???????????????
page.setPivotY(pivotY);
???????????????
//動態調整旋轉角度
??????????????? float roateAngl = MAX_ROTATE * position;
???????????????
page.setRotation(roateAngl);
???????????
}
??????? }
??????? //右頁移出屏幕時
??????? else { // (1,+Infinity]
??????????? //右頁順時針旋轉
??????????? //旋轉中心點:左下角頂點
??????????? //旋轉角度:順時針旋轉到最大值
??????????? page.setRotation(MAX_ROTATE);
???????????
page.setPivotX(0);
???????????
page.setPivotY(page.getHeight());
???????
}

??? }

}

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求解答鴻神的旋轉中心是怎么定的

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號