TextView - как сделать вторую строку с отступом

Я хочу, чтобы вторая строка (и третья, четвертая и т.д.) моего отступов TextView была возможна? Я не знаю точно текст TextView заранее. Текст будет содержать символы новой строки ( "\n" ) - он будет автоматически привязан к линиям TextView.

Ответ 1

Еще одна возможность - перейти от TextView к WebView, а затем с помощью CSS установите padding-left вашего текста в 20px и text-indent на -20px. Это должно переместить весь текст в 20px, кроме первой строки, которую вытащите назад 20px.

Ответ 2

public static void IndentEffect(WebView webViewv, String string) {
    webViewv.loadData("<html><p style=\"padding-left: 40px;text-indent: -20px;\">" + string.toUpperCase() + "</p></html>", "text/html", "utf-8");
    WebSettings webSettings = webViewv.getSettings();
    webSettings.setTextZoom(webSettings.getTextZoom() + 20);
}

В приведенном выше методе обертки, если вы просто передаете ссылку на веб-просмотр и текст держателя места, тогда требуемый отступ будет автоматически применен для второй строки.

ВСЕ ЛУЧШИЕ! Может быть полезно для кого-то, кто в этом нуждается.

Ответ 3

Я чувствую, что вам нужно будет использовать несколько TextView. Один с полной шириной, а затем другой под ним с некоторым дополнением или краем слева, чтобы создать видимость отступа.

В вашем коде вам придется анализировать текст так, чтобы в верхнее TextView попало только определенное количество символов, а остальные - ниже.

Не самое лучшее решение, но, возможно, стоит поиграть. Если вы сделаете это так, вы определенно захотите использовать шрифт с монофоном. Таким образом, вы всегда будете иметь одинаковое количество символов, которые могут быть помещены в одну строку в первом TextView.