Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Изображения в TextArea (http://www.flasher.ru/forum/showthread.php?t=188187)

XDiaBLo 29.11.2012 22:49

Изображения в TextArea
 
Мне всего лишь нужно, чтобы картинки шли внутри текста, вот так примерно :), в той же строке, что и текст, без переноса на следующую строку лишь ради картинки. Неужели это невозможно? Уж и htmlText в старом компоненте пробовал, и TLF в новом, не пойму, разве это вовсе невозможно? Я делаю чат, и будет некрасиво, если каждый смайлик, будет в отдельной строке.

caseyryan 30.11.2012 07:33

Вложений: 1
Цитата:

Уж и htmlText в старом компоненте пробовал
html + css? или голый html?


с css это решается просто:
Код AS3:

package  {
        import flash.display.Sprite;
        import flash.text.StyleSheet;
        import flash.text.TextField;
 
        public class TextAroundImage extends Sprite {
 
                public function TextAroundImage() {
                        var text:        String                = "<p>это пример текста с обтеканием вокруг картинки <img src='http://addscroller.com/australia.jpg' />Lorem Ipsum - это текст-'рыба', часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной 'рыбой' для текстов на латинице с начала XVI века. В то время некий безымянный печатник создал большую коллекцию размеров и форм шрифтов, используя Lorem Ipsum для распечатки образцов. Lorem Ipsum не только успешно пережил без заметных изменений пять веков, но и перешагнул в электронный дизайн. Его популяризации в новое время послужили публикация листов Letraset с образцами Lorem Ipsum в 60-х годах и, в более недавнее время, программы электронной вёрстки типа Aldus PageMaker, в шаблонах которых используется Lorem Ipsum.";
                        var css:        StyleSheet        = new StyleSheet();
                        var img:        Object                = new Object();
                        img.padding = 5;
                        css.setStyle("img", img);
                        var tf:TextField                = new TextField();
                        tf.autoSize                                = "none";
                        tf.width                                = 800;
                        tf.height                                = 600;
                        tf.styleSheet                        = css;
                        tf.htmlText                                = text;
                        tf.wordWrap                                = true;
                        addChild(tf);
                }
        }
}

[Вложение #28753 - не найдено]

XDiaBLo 30.11.2012 12:45

Спасибо. Но как смайлик внутри строки никак нельзя? Чего картинка, к левому краю жмётся?

caseyryan 30.11.2012 13:06

Ну так css в помощь. Я только показал как можно сделать, а настройки css - это уже отдельная тема

есть еще вот такая штука http://doitflash.com/
и это http://codeloaded.com/files/as3-smiley-textfield-class
и это http://www.actionscript.org/forums/s....php3?t=159544

XDiaBLo 30.11.2012 18:46

Ну хорошо, посмотрю CSS и остальное. Я просто подумал, что опять ограничения встретил, прикинув пару вариантов с align, и не заметив никаких результатов. Если вы считаете что css поможет, отлично, хотя-бы буду уверен, что способ есть, и не перестану искать, пока не найду ответ.

Добавлено через 35 минут
Логично предположить, что так сработает
Код AS3:

                        var img:Object = new Object();
                        img.padding = 5;
                        img.position = "relative";
                        img.left = "0px";
                        img.bottom = "0px";

Но нет, не то :(

Добавлено через 40 минут
Засомневался, решил проверить как оно будет в HTML, вот это
Цитата:

Какой-то текст <img src='http://www.flasher.ru/forum/images/smilies/frown.gif'/> ещё текст.
отобразилось без всякого сдвига картинки в какой-либо бок. Не понимаю, какой CSS может описывать стандартное, положенное поведение...

Добавлено через 50 минут
Видимо всё же TLF как-то может помочь.

Добавлено через 2 часа 1 минуту
Короче получилось. Хоть в случае картинок и происходит перенос строки, но только один раз, вместе с текстом, картинки появляются где положено, причём их можно пихать сколько угодно. Почти то что нужно, одно не пойму, почему начало текста таки переносится на следующую строку...

Ленок 01.12.2012 18:33

Цитата:

Сообщение от XDiaBLo (Сообщение 1107058)
Короче получилось.

А подробности? :)

XDiaBLo 06.12.2012 22:49

Подробности там:
http://code.google.com/p/as3gif/
http://iamjosh.wordpress.com/2009/02...-gifs-in-flex/
:)

Добавлено через 2 минуты
Кстати, не совсем получилось. Это я рано обрадовался, у меня в AdvancedDataGrid стали гифки крутиться, а в TextArea до сих пор бьюсь, не хочет в TLF видео крутиться. Ну никак.

Добавлено через 10 минут
Я вас совсем запутал :) Этож не та тема, тут мы не воспроизведение анимированных гифок обсуждаем, а обтекание текстом. Ну тут я сделал просто:
view.textOutputWindow.textFlow = TextConverter.importToFlow(textOfChat, TextConverter.TEXT_FIELD_HTML_FORMAT);
Вроде бы именно это помогло, хотя может я что-то ещё делал.

Добавлено через 12 минут
И кстати ясно, что в textOfChat у меня всё в ХТМЛ-формате, ну типа <img src=' и так далее...


Часовой пояс GMT +4, время: 08:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.