java alignment_Java Alignment.ALIGN_OPPOSITE属性代码示例

public Cea708Cue build() {

if (isEmpty()) {

// The cue is empty.

return null;

}

SpannableStringBuilder cueString = new SpannableStringBuilder();

// Add any rolled up captions, separated by new lines.

for (int i = 0; i < rolledUpCaptions.size(); i++) {

cueString.append(rolledUpCaptions.get(i));

cueString.append('\n');

}

// Add the current line.

cueString.append(buildSpannableString());

// TODO: Add support for right-to-left languages (i.e. where right would correspond to normal

// alignment).

Alignment alignment;

switch (justification) {

case JUSTIFICATION_FULL:

// TODO: Add support for full justification.

case JUSTIFICATION_LEFT:

alignment = Alignment.ALIGN_NORMAL;

break;

case JUSTIFICATION_RIGHT:

alignment = Alignment.ALIGN_OPPOSITE;

break;

case JUSTIFICATION_CENTER:

alignment = Alignment.ALIGN_CENTER;

break;

default:

throw new IllegalArgumentException("Unexpected justification value: " + justification);

}

float position;

float line;

if (relativePositioning) {

position = (float) horizontalAnchor / RELATIVE_CUE_SIZE;

line = (float) verticalAnchor / RELATIVE_CUE_SIZE;

} else {

position = (float) horizontalAnchor / HORIZONTAL_SIZE;

line = (float) verticalAnchor / VERTICAL_SIZE;

}

// Apply screen-edge padding to the line and position.

position = (position * 0.9f) + 0.05f;

line = (line * 0.9f) + 0.05f;

// anchorId specifies where the anchor should be placed on the caption cue/window. The 9

// possible configurations are as follows:

// 0-----1-----2

// | |

// 3 4 5

// | |

// 6-----7-----8

@AnchorType int verticalAnchorType;

if (anchorId % 3 == 0) {

verticalAnchorType = Cue.ANCHOR_TYPE_START;

} else if (anchorId % 3 == 1) {

verticalAnchorType = Cue.ANCHOR_TYPE_MIDDLE;

} else {

verticalAnchorType = Cue.ANCHOR_TYPE_END;

}

// TODO: Add support for right-to-left languages (i.e. where start is on the right).

@AnchorType int horizontalAnchorType;

if (anchorId / 3 == 0) {

horizontalAnchorType = Cue.ANCHOR_TYPE_START;

} else if (anchorId / 3 == 1) {

horizontalAnchorType = Cue.ANCHOR_TYPE_MIDDLE;

} else {

horizontalAnchorType = Cue.ANCHOR_TYPE_END;

}

boolean windowColorSet = (windowFillColor != COLOR_SOLID_BLACK);

return new Cea708Cue(cueString, alignment, line, Cue.LINE_TYPE_FRACTION, verticalAnchorType,

position, horizontalAnchorType, Cue.DIMEN_UNSET, windowColorSet, windowFillColor,

priority);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值