Могу ли я легко отображать текст на чередующихся строках в Android / Java / - PullRequest
1 голос
/ 23 января 2020

У меня амбициозная проблема форматирования, которая состоит из нескольких частей, и у меня есть только программирование Tyro's gr asp из Android. Я хочу отображать текст из двух разных файлов в чередующихся строках:

This is text from the first file, which is different from the second file. The 
This is the text from the second file. Notice that it isn’t a lot like the first

differences are pretty great, but take (overall) nearly the same number of 
file, but has a similar number of characters. The contents of the second 

characters, plus or minus about 5%
file should be nearly the same in length.

Идея состоит в том, чтобы этот дисплей отображался на телефоне с разумным (и регулируемым) размером шрифта, при этом длина строки ограничивалась размер текстовых полей. Я думаю, что мне нужно выяснить для каждого текстового поля, сколько символов поместится, найти метод, чтобы написать это количество (или меньше, разбивая на пробелы или. Или! Или?) И продолжая в следующем текстовом поле. Поскольку файлы довольно длинные, мне понадобится метод прокрутки (кажется маловероятным) или восстановления всей страницы sh на дисплеях.

Мои вопросы:

  1. план атаки кажется разумным?
  2. Существует ли библиотека, которая могла бы упростить этот процесс?
  3. Если эта атака действительно глупая, может кто-нибудь предложить лучший метод?

1 Ответ

2 голосов
/ 23 января 2020

Даже если ваша идея является жизнеспособным подходом, позвольте мне предложить еще один вариант: воспользоваться тем фактом, что вы можете поместить два TextView в почти одно и то же место в Android

Каждый TextView может показывать строки одного из файлов. У обоих будет высота строки в три раза больше, чем требует размер шрифта (используйте android:lineSpacingMultiplier). Если вы поместите второй TextView немного ниже первого (используйте android:marginTop), то вы получите шаблон, подобный следующему:

enter image description here

макет xml пример:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp"
    tools:context=".PlusOneFragment">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="16sp"
        android:lineSpacingMultiplier="3"
        android:text="@string/textview1_text" />

    <TextView
        android:layout_marginTop="18dp"
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="16sp"
        android:lineSpacingMultiplier="3"
        android:text="@string/textview2_text" />

</FrameLayout>

строк. xml содержит

<string name="textview1_text">This is text from the first file, which is different from the second file. The differences are pretty great, but take (overall) nearly the same number of characters, plus or minus about 5%</string>
<string name="textview2_text">This is the text from the second file. Notice that it isn’t a lot like the first file, but has a similar number of characters. The contents of the second  file should be nearly the same in length.</string>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...