编辑文本中的"word-wrap: break-word"



具有Android a类似于CSS的属性" Word-wrap"?

我只想写我的文字,不是由空间,破折号等包裹。

  1. 你好,w
  2. orld

而不是

  1. 你好,
  2. 世界

不幸的是,Android没有此属性。但是您可以用更换transformationMethod替换所有破坏字符。

class WordBreakTransformationMethod extends ReplacementTransformationMethod
{
    private static WordBreakTransformationMethod instance;
    private WordBreakTransformationMethod() {}
    public static WordBreakTransformationMethod getInstance()
    {
        if (instance == null)
        {
            instance = new WordBreakTransformationMethod();
        }
        return instance;
    }
    private static char[] dash = new char[] {'-', 'u2011'};
    private static char[] space = new char[] {' ', 'u00A0'};
    private static char[] original = new char[] {dash[0], space[0]};
    private static char[] replacement = new char[] {dash[1], space[1]};
    @Override
    protected char[] getOriginal()
    {
        return original;
    }
    @Override
    protected char[] getReplacement()
    {
        return replacement;
    }
}

' u2011'是非破折破折号,' u00a0'是非破坏空间。不幸的是,UTF并未对Slash('/')进行非破坏类似物,但是您可以使用discor slash('∕')。

用于使用此代码,将WordBreakTransFormationMethod的实例设置为您的EDITTEXT。

myEditText.setTransformationMethod(WordBreakTransformationMethod.getInstance());

最新更新