簡體   English   中英

如何讓我的 Android 應用程序在每個顯示的文本行前加上“>”?

[英]How do I make my Android app prefix each displayed line of text with ">"?

我的應用程序顯示一長串文本,如下所示:

在此處輸入圖像描述

我想在每一行中添加一個“>”字符,所以我嘗試了以下代碼:

private String addPrefixChars(String text) {
    StringBuilder builder = new StringBuilder();
    StringTokenizer st = new StringTokenizer(text, NL);
    builder.append(NL);
    for (int i = 0, count = st.countTokens(); i < count; i++) {
        builder.append(">").append(st.nextToken()).append(NL);
    }
    return builder.toString();
}

最后是這樣的:

在此處輸入圖像描述

請注意,整個文本只有一個“>”字符,而我試圖讓顯示的每一行都以“>”開頭。 任何人有任何想法如何做到這一點?

我試圖達到你的需要。

文本:

Lorem Ipsum 只是印刷和排版行業的虛擬文本。 自 1500 年代以來,Lorem Ipsum 一直是行業的標准虛擬文本。 當一位不知名的印刷商拿走了一個活字樣,然后把它打亂,制作了一本活字樣書。 它不僅經歷了五個世紀,而且還經歷了電子排版的飛躍,基本保持不變。 它在 1960 年代隨着包含 Lorem Ipsum 段落的 Letraset 工作表的發布而流行,最近隨着桌面出版軟件如 Aldus PageMaker 的發布而流行,其中包括 Lorem Ipsum 的版本。

TextView的每一行中添加“>”的代碼:

  TextView content = findViewById(R.id.content);
  content.post(() -> {
            ArrayList<String> lines = new ArrayList<>();
            String textContent = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. When an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.";
            Layout layout = content.getLayout();
            int lineCount = content.getLineCount();
            for (int i = 0; i < lineCount; i++) {
                int lineStart = layout.getLineStart(i);
                int lineEnd = layout.getLineEnd(i);
                if (lineStart <= textContent.length() && lineEnd <= textContent.length()) {
                    String lineString = textContent.substring(lineStart, lineEnd);
                    lines.add("> " + lineString + "\n");
                }
            }
            content.setText("");
            for (String line : lines)
                content.append(line);
        });

output:

在此處輸入圖像描述

我最終將包含原始文本的字段更改為 TextView 並為回復創建了一個 EditText。 我不必在原件前加上“>”; 相反,我只是將它標為斜體以將其與回復區分開來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM