Edittext使用居中和左对齐跨度剪切文本

时间:2014-05-12 13:06:24

标签: android

在我的应用程序中我使用3 AlignmentSpan.Standard:center,normal,opposite。为了简单起见,我们可以将这些段落命名为:左对齐段落 - 第一段,中央对齐段落 - 第二段,右对齐段落 - 第三段。

例如用户创建3段。之后,该用户使用LeadingMarginSpan.Standard获取第二段以获得缩进。当缩进应用时,第一段从EditText移出一定数量的px,第二段可见停留在中心。

当用户点击第一段时一切正常,所有段落都保持在所需位置,第二段保持缩进。如果点击第二段,所有段落将移至左侧

代码:

    EditText et = (EditText)findViewById(R.id.et);
    et.setText("ab\nab\nab");
    AlignmentSpan.Standard normal = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_NORMAL);
    AlignmentSpan.Standard center = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER);
    AlignmentSpan.Standard opposite = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_OPPOSITE);
    et.getEditableText().setSpan(normal, 0, 3, Spanned.SPAN_PARAGRAPH);
    et.getEditableText().setSpan(center, 3, 6, Spanned.SPAN_PARAGRAPH);
    et.getEditableText().setSpan(opposite, 6, et.length(), Spanned.SPAN_PARAGRAPH);
    LeadingMarginSpan.Standard indent = new LeadingMarginSpan.Standard(20);
    et.getEditableText().setSpan(indent, 3,6, Spanned.SPAN_PARAGRAPH);

选择第一个对齐: enter image description here 选择第二个对齐: enter image description here

编辑:

https://www.youtube.com/watch?v=Ea9HJEmEeZA&feature=youtu.be

0 个答案:

没有答案