2017-01-24 2 views
0

Я раздуваю TextView, который ссылается на строку ресурса, которая содержит символы новой строки (try \ n, \ r \ n, \ n \ n), которые не являются отображение (получить длинную, усеченную одну строку текста).Ручная накачка строки ресурса TextView, не отображающая новые строки ( n)

Код выглядит следующим образом:

Примечание: В настоящее время приложение ориентирована на старую версию Android (API 15/4.0.3, обновление в ближайшее время), и мне просто нужно, чтобы получить несколько исправленных ошибок в настоящее время. У меня есть планшет 4.4, я могу попробовать это, чтобы посмотреть, устраняет ли это проблему.

Вызов функции


public void ShowExitPromptDialog() 
{ 
    AlertDialog.Builder builder = new AlertDialog.Builder(this);  
    OkDialogClickListener okListener = new OkDialogClickListener(); 

    LayoutInflater li = (LayoutInflater)this.GetSystemService(Context.LayoutInflaterService); 
    LinearLayout tv1 = (LinearLayout)li.Inflate(Resource.Layout.dialog_no_connectivity, null); 

    builder.SetView(tv1) 
      .SetPositiveButton("OK", okListener)      
      .SetCancelable(true); 

    AlertDialog dialog = builder.Create(); 
    dialog.Show(); 
} 

dialog_no_connectivity


<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:paddingTop="5dp" 
    android:paddingBottom="8dp" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <TextView android:id="@+id/dialog_noconnectivity" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="0dp" 
     android:layout_marginLeft="8dp" 
     android:ellipsize="end" 
     android:singleLine="true" 
     android:textStyle="bold" 
     android:text="@string/no_webservice_connectivity" 
     android:textAppearance="?android:attr/textAppearanceSmall"/> 

</LinearLayout> 

Ресурсы/Ценности/strings.xml


<string name="no_webservice_connectivity">1\n2\r\n3\n\nand to the 4 
snoop doggy dog and super mario is at the door with your new switch beeotch!</string> 

ответ

1

Просто удалить

android:singleLine="true" 

таким образом, что она выглядит как

<TextView android:id="@+id/dialog_noconnectivity" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="0dp" 
    android:layout_marginLeft="8dp" 
    android:textStyle="bold" 
    android:text="@string/no_webservice_connectivity" 
    android:textAppearance="?android:attr/textAppearanceSmall"/> 
+0

Спасибо, сэр. Сжигание ржавчины прошло уже несколько лет. – samosaris

+0

Действительно, хотя это был скорее общий надзор, чем туманная память. Я должен был смотреть на все эти настройки, я просто взглянул на них. Я делаю много непреднамеренных предположений, это мои ахиллы. – samosaris

1

Изменение андроида: SingleLine = "истина" для андроида: SingleLine = "ложь" и добавить андроид: MaxLines = "6" (или более) в вашем определении TextView XML.

+0

Кудо идет на более полный ответ, извините (также, SingleLine по умолчанию ложным, так опуская достаточно). Спасибо, хотя и подсказка maxLines действительно может быть полезной здесь, так как я получил некоторое форматирование. – samosaris

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