Страница 1 из 2
TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 15:41
JDev
Здравствуйте,
Нужно в компоненте TextView выравнивать одно слово всегда в конце последней строки.
Если попроще, то есть сообщение, хочу выравнивать время сообщения в конце последней строки и с форматированием(цвет, размер шрифта и так д).
Нашел пока две возможности -1 и 2 ответ
http://stackoverflow.com/questions/1529 ... a-textview
Но fromHtml у меня почему-то не берет даже такую строку, если например просто жирный, то берет.
Код: Выделить всё
TextView chatMessageTextView = (TextView) view.findViewById(R.id.chatMessageTextView);
chatMessageTextView.setText(Html.fromHtml(message.getMessage() + "<span style=\"color:red\">" + message.getTime() + "</span>"));
вот компонент,
Код: Выделить всё
<TextView
android:id="@+id/chatMessageTextView"
style="@style/chatMessageTextStyle" />
а вот стиль
Код: Выделить всё
<style name="chatMessageTextStyle" parent="@android:style/TextAppearance.Small">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginBottom">10dp</item>
<item name="android:layout_marginLeft">5dp</item>
<item name="android:layout_marginRight">5dp</item>
<item name="android:padding">3dp</item>
<item name="android:textColor">#000000</item>
<item name="android:typeface">sans</item>
<item name="android:textSize">12sp</item>
</style>
Спасибо за подсказки. )
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 18:10
rezak90
на сколько я знаю то используемые html теги ограничены, не все можно использовать
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 18:12
JDev
Понял, тогда может подскажете, как это сделать?
Пас. )
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 18:28
rezak90
может стоит форматировать текст в html и отображать в webview
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 19:41
JDev
идея то неплохая, но если например, ввести ссылку, отобразить в WebView или кликнуть по ней, то он начнет себя вести как браузер или?
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 20:13
rezak90
там есть настройки у него где можно запретить
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 21:44
Finch
Всё норм работает
Код: Выделить всё
String message = "Ололоша Ололоев ";
String date = "30.11.12";
TextView privet = (TextView) findViewById(R.id.privet);
privet.setText(Html.fromHtml("<b><u>" + message + "<font color=\"red\">" + date + "</font></b></u>"));
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 21:47
JDev
Пас, попробую. )
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 21:59
JDev
Хммм, и вправду работает, но что-то я не пойму, как это вы тэги закрываете? Не по порядку, в чем фокус?
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 22:10
Finch
порядок?
смысл в том что получается такая строка
Код: Выделить всё
<b><u>Ололоша Ололоев <font color="red">30.11.12</font></b></u>
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 22:12
JDev
Размер шрифта не выставляется. (
Код: Выделить всё
messageTextView.setText(Html.fromHtml("<b><u>" + message.getMessage() + "<font color=\"#cccccc\" size=\"4px\">" + "\n" + message.getTime() + "</font></b></u>"));
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 22:28
Finch
Ну так сделай под время отдельный текствью =)
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 22:38
JDev
)) думаю что так не получится, так как у меня shape в который я засовываю свой TextView
Код: Выделить всё
private void addMessageToStage(Message message) {
LinearLayout scrollChatMessagesOutput = (LinearLayout) findViewById(R.id.chatMessagesOutput);
LayoutInflater layoutInflater = getLayoutInflater();
View view = layoutInflater.inflate(R.layout.chat_single_message, null, false);
TextView messageTextView = (TextView) view.findViewById(R.id.singleChatMessageTextView);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
if (messagesAlignId % 2 == 0) {
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
messageTextView.setBackgroundResource(R.drawable.chat_input_message_shape);
} else {
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
messageTextView.setBackgroundResource(R.drawable.chat_output_message_shape);
}
messageTextView.setText(Html.fromHtml("<b><u>" + message.getMessage() + "<font color=\"#cccccc\" size=\"4px\">" + "\n" + message.getTime() + "</font></b></u>"));
RelativeLayout messageAlignLayout;
messageAlignLayout = new RelativeLayout(this);
messageAlignLayout.addView(view, params);
scrollChatMessagesOutput.addView(messageAlignLayout);
}
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 22:48
Finch
Немного порывшись в исходниках, я понял что font size is deprecated =)
кароче юзай <h1></h1> - <h6></h6>
работает нормально)
Код: Выделить всё
textview.setText(Html.fromHtml("<b><u>" + "message.getMessage() " + "<h1>" + "message.getTime()" + "</h1></b></u>"));
п.с. а еще вот
это почитай
Тяжело твой код читать, буду бить линейкой по рукам если не исправишься или останешься на всю жизнь
junior девелопером

Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 22:56
JDev
Спасибо, может глянете на еще один мой пост? в єтой же ветке, - буду благодарен.. )))
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 23:03
Finch
JDev писал(а):єтой
хохол дЭтЭктЭд =)
п.с. читай выше...
читал я твой пост в Єтой же ветке и ваще ниче там не понимаю

Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 23:31
JDev
Finch писал(а):JDev писал(а):єтой
хохол дЭтЭктЭд =)
п.с. читай выше...
читал я твой пост в Єтой же ветке и ваще ниче там не понимаю

)))) Да, с Украины, не заметил, что раскладку не поменял. )))
Ну я там уже и скрин прилепил. )) Что не понятно?
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 23:37
Finch
именование у тебя не по понятиям, а город какой?
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 23:40
JDev
Нужно искать альтернативное решение, h1-h6 не работает, только отступы делаются большие - размер текста изменяется как-то странно(большие отступы вверху и внизу) и не до необходимой величины, ..

(
Код: Выделить всё
messageTextView.setText(Html.fromHtml(message.getMessage() + "<font color=\"#cccccc\">" + "\n" + "<h6>"+ message.getTime() +"</h6>" + "</font>"));
Re: TextView - форматирование(выравнивание) текста внутри?
Добавлено: 30 ноя 2012, 23:42
JDev
Finch писал(а):именование у тебя не по понятиям, а город какой?
- не понял чуток, что имеется в виду - под именованием, и как это не по понятиям? )))
Западная Украина, но сейчас живу в Берлине.