/**
* Accounting for the settings of {@link Gravity} and {@link Orientation}, find the center point
* around which this layout manager should arrange list items. Place the resulting coordinates
* into {@code out}, to avoid reallocation.
*/
private Point deriveCenter(@Gravity int gravity,
int orientation,
@Dimension int radius,
@Dimension int peekDistance,
Point out) {
final int gravitySign = gravity == Gravity.START ? -1 : 1;
final int distanceMultiplier = gravity == Gravity.START ? 0 : 1;
int x, y;
switch (orientation) {
case Orientation.HORIZONTAL:
y = (distanceMultiplier * getHeight()) + gravitySign * (Math.abs(radius - peekDistance));
x = getWidth() / 2;
break;
case Orientation.VERTICAL:
default:
y = getHeight() / 2;
x = (distanceMultiplier * getWidth()) + gravitySign * (Math.abs(radius - peekDistance));
break;
}
out.set(x, y);
return out;
}
TurnLayoutManager.java 文件源码
java
阅读 44
收藏 0
点赞 0
评论 0
项目:turn-layout-manager
作者:
评论列表
文章目录