Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

Как для TextView задать программно стиль?

#android #textview #android_textview


Например:

TextView textView = new TextView(PhotoActivity.this);
    textView.setText("Photo not found.");


Тогда как задать стиль?

textView.set...???


Мне нужно было сделать цвет текста и позиционирование по центру программно, я решил
задачку:

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(AbsListView.LayoutParams.WRAP_CONTENT,
AbsListView.LayoutParams.FILL_PARENT);
    params.weight = 1.0f;
    params.gravity = Gravity.CENTER;

    TextView textView = new TextView(PhotoActivity.this);
    textView.setText("Photo not found.");
    textView.setTextColor(Color.WHITE);
    textView.setLayoutParams(params);


Как вариант так:

textView.setGravity(Gravity.CENTER);

    


Ответы

Ответ 1



Вам поможет textView.setTextAppearance(int styleResId);

Ответ 2



textView59.setTypeface(null, Typeface.BOLD);

Ответ 3



Это, ксожалению, невозможно. Но выход есть: Создать xml файл с TextView с нужным стилем: И дальше программно его инфлейтить: TextView textView = (TextView) LayoutInflater.from(context).inflate(R.layout.styled_textView, null); Если хочется именно программно выбрать стиль, не создавая отдельную разметку для каждого стиля, можете сохранить один вариант разметки где-нибудь в assets, дальше загружать его, как обычный XML-документ, изменять ему атрибут style, и скармливать LayoutInflaterу в этот метод

Комментариев нет:

Отправить комментарий