Как заставить курсив TextView работать в режиме графического макета Eclipse? Он даже зависает ПК - PullRequest
3 голосов
/ 16 февраля 2012

Работая в Eclipse, я пытаюсь разместить текст курсива на макете.Проблема в том, что когда я устанавливаю android:textStyle="italic", текст исчезает.(Высота содержимого становится 0, и весь TextView становится невидимым.) Bold работает ОК.Я перепробовал все шрифты, но результат тот же.

На устройстве оно показывается курсивом ОК.Но макет очень сложный, и его дизайн, не видя его, тоже становится очень сложным.

Вот TextView

     <TextView
          android:id="@+id/smallEpgNextProgramTime"
          android:layout_width="200dp"
          android:layout_height="wrap_content"
          android:maxLines="1"
          android:ellipsize="end"
          android:layout_margin="10dp"
          android:gravity="left|top"
          android:textSize="35dp"
          android:typeface="monospace"
          android:textStyle="italic"
          android:text="12:00-13:11"
    />      

Версия Android 2.3.3.Версия Eclipse - 2.6.

Это еще хуже.Если я оставлю курсив там, после некоторых изменений вида макета на графику и обратно на текст, Eclipse работает медленнее и медленнее и зависает на компьютере.Итак, я должен поставить его как «нормальный» в макете и установить textStyle по коду.Это плохая ошибка!

Ответы [ 3 ]

6 голосов
/ 16 февраля 2012

Я думаю, что это проблема платформы Android.

Посмотрите на Проблема 22867: Неправильный предварительный просмотр макета при использовании стиля текста ITALIC

Он не отображается наГрафическое представление макета, но работает корректно при сборке и запуске приложения.

Обновление: Если вы хотите выполнить предварительный просмотр для разработки макета XML, просто используйте

android:typeface="serif"

Вэто android:textStyle="italic" работает.И текст будет отображаться курсивом в графическом редакторе макетов.

Он работает только для этой гарнитуры с засечками .

1 голос
/ 16 февраля 2012

То, что вы написали, на 100% правильно, если вы хотите написать в коде, вы можете использовать это ..

            textView.setTypeface(null, Typeface.ITALIC);
            textView.setText(editText.getText().toString());
1 голос
/ 16 февраля 2012
 you can use this 

 TextView txtView;
 txtView=(TextView)findViewById(R.id.smallEpgNextProgramTime);
 txtView.setText(Html.fromHtml("Restaurant <i><b>Hello</b></i>"));
...