亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 2 行上顯示文本視圖(任意字符串長度)

在 2 行上顯示文本視圖(任意字符串長度)

qq_花開花謝_0 2023-09-13 15:40:47
我有一個字符串數組如下:[“你好”,“說再見”,“我是開發人員”,“Java是一種面向對象的語言”,“Web應用程序編程,...]如果字符串超過一個單詞,我想在 TextView 上顯示兩行,并且兩行之間的字符數差異最小。例如:“Web應用程序編程”應該是“Web應用程序編程”,而不是“Web應用程序編程”。有什么辦法可以做到這一點嗎?
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

這應該適合您的問題:


private String wrapText(String in) {

    String r;

    if(in.contains(" ")) {

        int middle = in.length() / 2;

        int before = getSpaceBeforeIndex(in, middle);

        int after = getSpaceAfterIndex(in, middle);


        int rightOne;


        if(before == -1) {

            rightOne = after;

        } else if(after == -1) {

            rightOne = before;

        } else {

            rightOne = (middle - before) < (after - middle)? before : after;

        }


        r = in.substring(0, rightOne) + "\n" + in.substring(rightOne);

    } else {

        r = in;

    }


    return r;

}


private static int getSpaceBeforeIndex(String in, int index) {

    String cut = in.substring(0, index);

    int firstSpace = cut.lastIndexOf(" ");

    return firstSpace;

}


private static int getSpaceAfterIndex(String in, int index) {

    int nextSpace = in.indexOf(" ", index);

    return nextSpace;

}


查看完整回答
反對 回復 2023-09-13
  • 1 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號