Gallery默認是橫向顯示所有佈局的,如果想豎向顯示佈局怎麼辦呢?
其實很簡單,找到控制橫向顯示的標誌就行了,由於AlbumSetPage和AlbumPage都是使用SlotView顯示佈局,所有查看SlotView代碼即可,找到下述代碼,這個WIDE變量就是控制橫向還是豎向顯示,true爲橫向,false爲豎向。
private static final boolean WIDE = true;
至於怎麼使用WIDE變量控制橫向還是豎向佈局的,看下述代碼:
private void initLayoutParameters() {
......
int[] padding = new int[2];
if (WIDE) {
initLayoutParameters(mWidth, mHeight, mSlotWidth, mSlotHeight, padding);
mVerticalPadding.startAnimateTo(padding[0]);
mHorizontalPadding.startAnimateTo(padding[1]);
} else {
initLayoutParameters(mHeight, mWidth, mSlotHeight, mSlotWidth, padding);
mVerticalPadding.startAnimateTo(padding[1]);
mHorizontalPadding.startAnimateTo(padding[0]);
}
updateVisibleSlotRange();
}
也就是根據WIDE的不同,佈局參數的寬高是相反的,至於界面滑動時也是根據WIDE判斷取X還是Y軸滑動距離。