2012-04-24 1 views
2

Я считаю, что раньше я видел такой вопрос, но я не могу найти его нигде ... поэтому, я отправлю свою версию вопроса, если кто-то еще не знает, ссылку на него.Предотвращение отклонения диалогов Android от каждого абзаца текста

Любой ...

У меня есть AlertDialog, который воспитывает строку в моем strings.xml файле для отображения в диалоговом окне. Строка выглядит примерно так:

<string name="about_app"> 
     Blah blah blah talking about stuff this is a line 
     Oh look I continued onto another line! Now I want these...\n\n 

     So this is another paragraph! Intriguing. Yes, onto the next line 
     Android text doesn't necessarily consider this a new line, which is fine 
     becauase i only care about paragraphs, which I'm using backslash n's for!\n\n 

     And... here's my final statement! Woo.\n 

</string> 

Все отображает (несколько) правильно в AlertDialog. «Бла-бла-бла ...» выровняется с левым краем AlertDialog и продолжается до тех пор, пока он не достигнет \n\n. Отсюда я получаю промежуток, который я хочу, прежде чем «Так это ...». Тем не менее, «Итак, это ...» отступают одно раздражающее небольшое пространство, от которого я не могу избавиться! То же самое для «И ... вот мой ...». У кого-нибудь есть решение?

Примечание: Я попытался избавиться от пустой строки после каждого абзаца в коде - ничего не делает. Я также обеспечил отсутствие пробелов после моего \n.

+0

Как о вводе \ п перед Абзац - как это: '<строка name = "about_app"> Бла-бла-бла, говоря о вещах, это линия О, посмотри, я продолжил на другую линию! Теперь я хочу, чтобы эти ... \ n \ nВсе это еще один абзац! Интригующий. Да, на следующую строку Текст Android не обязательно рассматривает эту новую строку, а это нормально becaase i только забочусь о абзацах, для которых я использую обратную косую черту для! \ N \ nAnd ... вот мой окончательное утверждение! Woo. \ N ' – Rajesh

+0

Форматирование в предыдущем комментарии не получилось так, как я ожидал. Я имел в виду использование '\ n' перед первым символом абзаца. – Rajesh

ответ

4

Дополнительное пространство, которое вы видите, вызвано отступом вашего абзаца в строковых ресурсах. Когда вы просто ломаете линию, ваш отступ служит перерывом между словами, и вы видите это как пространство. Однако, когда у вас есть новая строка, отступ отображается как пробел перед началом каждого абзаца. Чтобы избавиться от него, вам нужно либо поставить свой \n непосредственно перед первой буквой следующего абзаца, либо не отступать от ваших строк. BTW, разрыв строки сам по себе может также привести к пробелу при визуализации. В любом из этих двух должно работать:

(1)

<string name="about_app"> 
     Blah blah blah talking about stuff this is a line 
     Oh look I continued onto another line! Now I want these...\n 

     \nSo this is another paragraph! Intriguing. Yes, onto the next line 
     Android text doesn't necessarily consider this a new line, which is fine 
     becauase i only care about paragraphs, which I'm using backslash n's for!\n 

     \nAnd...here's my final statement! Woo.\n 
</string> 

или (2)

<string name="about_app"> 
Blah blah blah talking about stuff this is a line 
Oh look I continued onto another line! Now I want these...\n\n 
So this is another paragraph! Intriguing. Yes, onto the next line 
Android text doesn't necessarily consider this a new line, which is fine 
becauase i only care about paragraphs, which I'm using backslash n's for!\n\n 
And...here's my final statement! Woo.\n 
</string> 
+0

Думаю, я пойду с первым решением; благодаря!! – Mxyk

+1

Я использовал следующее решение, чтобы избавиться от лишнего пространства: String myString = getString (R.string.my_string) .replace ("\ n", "\ n"); – sagis

Смежные вопросы