Перейти к содержанию
  • Регистрация
  • 0
Kapa

Вывод личных сообщений

Вопрос

Доброго дня! Пишу первое приложение под андроид, какие компоненты можно использоваться для вывода сообщений с аватарками?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0
2 часа назад, Равиль Зарипов (ZuBy) сказал:

Вы чат пишете?

Да. Точнее хочу вывести диалоги из вк, и соответственно читать эти диалоги.

Изменено пользователем Kapa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Оптимального варианта нет, можно сделать на ЛистВью, но сложно. Можно на ЛистБоксе, легко, но будет ужасно лагать. Прочие варианты со СкролБоксом тоже будут лагать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
24 минуты назад, Равиль Зарипов (ZuBy) сказал:

Оптимального варианта нет

А если с webbrowser что-то придумать? Динамически менять содержимое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 1
В 12.05.2018 в 17:02, Kapa сказал:

 Пишу первое приложение под андроид, 

Мы с вами в одном окопе. Путь к ListView лежит через ListBox. т.e надо помучится с listbox что бы понять что без ListView не обойтись. 

В чате как правило картинка и текст возможно не один. 

lw01.png.5f3dac60ea9c2c5299f444e23b6633fa.png

Создайте в ListView в режиме dinamicAppearance свои поля со своими именами, Далее ПКМ по listView выбираете TogleDesignMode там двигаете свои добавленные поля как вам удобно. 

Далее смотрите код. Чем смог тем помог!

//Добавить итем в список
void __fastcall TTabbedForm::add_item(int num_ico,UnicodeString *fname, UnicodeString *ext_name, unsigned int color)
    {
    TListItemText  *ext;
    TListItemImage  *ico;

    TListViewItem* item = ListView1->Items->Add();
    item->Height = 30;

    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("extenssion_text"));
    if (ext)
        {
        ext->PlaceOffset->X = ListView1->Width -  60;
        ext->Text = *ext_name;
        ext->TextColor = color;
        }
    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("file_name_text"));
    if (ext)
        {
        ext->Text = *fname;
        ext->TextColor = color;
        if (num_ico==0)    ext->Width = ListView1->Width - 10;   //длина до расширения.
        else            ext->Width = ListView1->Width - 90;   //длина до расширения.

        }
    ico = dynamic_cast<TListItemImage*>(item->Objects->FindDrawable("Icon_Image"));
    if (ico)
        {
        switch (num_ico)
            {
            case 0: ico->Bitmap = Image_64x64_ret->Bitmap;         break;
            case 1: ico->Bitmap = Image_64x64_folder->Bitmap;     break;
            case 2:    ico->Bitmap = Image_48x48_spk->Bitmap;         break;
            case 3: ico->Bitmap = Image_64x64_play->Bitmap;     break;
            case 4: ico->Bitmap = Image_64x64_pause->Bitmap;     break;
            default:  break;
            }
        }
    }

 

Изменено пользователем Sergiy_83

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 14.05.2018 в 00:41, Sergiy_83 сказал:

Мы с вами в одном окопе. Путь к ListView лежит через ListBox. т.e надо помучится с listbox что бы понять что без ListView не обойтись. 

В чате как правило картинка и текст возможно не один. 

lw01.png.5f3dac60ea9c2c5299f444e23b6633fa.png

Создайте в ListView в режиме dinamicAppearance свои поля со своими именами, Далее ПКМ по listView выбираете TogleDesignMode там двигаете свои добавленные поля как вам удобно. 

Далее смотрите код. Чем смог тем помог!


//Добавить итем в список
void __fastcall TTabbedForm::add_item(int num_ico,UnicodeString *fname, UnicodeString *ext_name, unsigned int color)
    {
    TListItemText  *ext;
    TListItemImage  *ico;

    TListViewItem* item = ListView1->Items->Add();
    item->Height = 30;

    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("extenssion_text"));
    if (ext)
        {
        ext->PlaceOffset->X = ListView1->Width -  60;
        ext->Text = *ext_name;
        ext->TextColor = color;
        }
    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("file_name_text"));
    if (ext)
        {
        ext->Text = *fname;
        ext->TextColor = color;
        if (num_ico==0)    ext->Width = ListView1->Width - 10;   //длина до расширения.
        else            ext->Width = ListView1->Width - 90;   //длина до расширения.

        }
    ico = dynamic_cast<TListItemImage*>(item->Objects->FindDrawable("Icon_Image"));
    if (ico)
        {
        switch (num_ico)
            {
            case 0: ico->Bitmap = Image_64x64_ret->Bitmap;         break;
            case 1: ico->Bitmap = Image_64x64_folder->Bitmap;     break;
            case 2:    ico->Bitmap = Image_48x48_spk->Bitmap;         break;
            case 3: ico->Bitmap = Image_64x64_play->Bitmap;     break;
            case 4: ico->Bitmap = Image_64x64_pause->Bitmap;     break;
            default:  break;
            }
        }
    }

 

Да, думаю это то что мне нужно, но я так и не разобрался как его заполнять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...