Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
#1

Интересная вьюшка

23.10.2014, 20:04. Просмотров 959. Ответов 4
Метки нет (Все метки)

В приложении понадобилось выводить текст и изображения на одной view. Идея такая: посылаю строку вида
Код
"Это яблоко :img:apple и вот тут рядом червяк :img:worm "
И в итоге должно все что между :img: и пробелом стать картинкой из drawable. Распарсить строку и наклепать text и image view проблем нет, но как быть с переносами строки? Например если не вместился текст нужно его просто перенести на следующую строку, а если не вместилась картинка - нужно всю картинку разместить строкой ниже. Или может проще писать эту строку в html и выводить в webView? Но тогда как доставать картинки из ресурсов?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2014, 20:04
Ответы с готовыми решениями:

Интересная особенность TextView
Столкнулся с интересной особенностью TextView, когда в нем находится...

Интересная вьюшка
Есть доки с полем X. В этом поле храниться идентификатор(не Lotusнный UNID). Но...

Роль и вьюшка
Добрый день! У меня вот такой вопрос. В ТУД базы данных имеются 10 ролей,...

Вьюшка не работает
Все привет! Делаю вьюшку SELECT Form = "Document" Document - форма по...

Не удаляется вьюшка
Подскажите пожалуйста, из-за чего может выскакивать сообщение "The active view...

4
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
23.10.2014, 23:27 #2
Где-то видел исходники, где веб-страницу берут из res/raw. И картинки из нее.
А можно считать и сколько займет каждая строка при выводе на канвас (есть функция в канвасе) и каждая картинка. Тогда и переносы можно делать и по буквам и по слогам и словам...
1
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
24.10.2014, 00:21  [ТС] #3
Вся страница не подойдет. Контент будет генерироваться в одной программе, а в другой отображаться. Изображения будут заранее в обоих программах. Что то по принципу похожее на смайлики)
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
24.10.2014, 03:01 #4
Это "сырой" код:

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
        AlertDialog.Builder b = new AlertDialog.Builder(cont);
        b.setTitle("О программе");
        LayoutInflater inflater = (LayoutInflater) cont.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View aboutView = inflater.inflate(xml_id, (ViewGroup) act.findViewById(WebView_id));
        b.setView(aboutView);
        String htmlString = "";
        InputStream in = cont.getApplicationContext().getResources().openRawResource(html_id);
        try {
            StringBuffer buf = new StringBuffer();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            String line;
            while ((line = reader.readLine()) != null) {
                buf.append(line);
            }
            htmlString = "";
            htmlString = htmlString+"<?xml version='1.0' encoding='UTF-8' ?>";
            htmlString = htmlString + buf.toString();
        } catch (Exception e) {
            htmlString = htmlString+"<html><body>Файл описания не найден!</body></html>";
        }
        b.setNegativeButton("Закрыть", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.cancel();
            }
        });
        b.setIcon(icon_id);
        //b.setIcon(R.drawable.icon);
 
        WebView wv = (WebView)aboutView.findViewById(WebView_id);
        //WebView wv = (WebView)aboutView.findViewById(R.id.AboutWebView);
        wv.loadDataWithBaseURL("file:///android_res/raw/", htmlString, "text/html", "UTF-8", null); // по идее может быть с картинками...
        Dialog dialog = b.create();
        dialog.show();


Он у меня РАБОТАЕТ! Правда пока нигде реально не используется. Планировалось в \res\raw\about.html вписывать эбаут и вызывать по кнопке. Показывает диалог со страницей. На странице картинка из той-же папке.

Параметром передаю ссылку на этот файл:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
 
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/AboutWebView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
Удачи...
1
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
24.10.2014, 11:09 #5
Лучший ответ Сообщение было отмечено Spelcrawler как решение

Решение

Есть правильный путь для этого.
http://habrahabr.ru/post/166351/

TextView умеет отображать картинки.
3
24.10.2014, 11:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2014, 11:09

Вьюшка с категориями
Народ есть вьюха с категориями и есть небольшая проблема,например когда нет...

Лотус вьюшка
На форме есть много не связаных чекбоксов. Как в одном столбике во вьюшке...

Вьюшка по периодам
Подскажите плиз, может у кого что то подобное есть, сделать нужно как всегда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru