любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313

Как задать отступы между определенными строками в ListView

11.08.2014, 00:37. Показов 3859. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Необходимо реализовать кастомный список такого вида (см. скрин). Не могу разобраться как сделать лучше, как видно из скрина, есть строка со временем и строка с описанием пары, которая проходит в это время, т.к. в одно и то же время может быть несколько пар, получаем ситуацию на скрине
Погуглив, понял, что в ListView можно отображать различные виды строк в зависимости от контента (в нашем случае время или описание пары), а именно с помощью метода getItemViewType

Остается лишь решить вопрос того, как задать отступы между ОПРЕДЕЛЕННЫМИ строками в ListView, между всеми строка как задавать я знаю
Буду рад, если укажете направление, в котором нужно копать!

Прикладываю xml c описание кастомной строки:
Кликните здесь для просмотра всего текста
XML
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?xml version="1.0" encoding="utf-8"?>
 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
    android:baselineAligned="false"
    android:clickable="false"
    android:weightSum="1">
 
 
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@android:color/black"
        android:text="08:20 - 09:50"
        android:id="@+id/timeTextView"
        android:gravity="center"
        android:textSize="18sp" />
 
    <View
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:background="@color/gray"/>
 
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <View
            android:layout_width="15dp"
            android:layout_height="match_parent"
            android:id="@+id/lectureTypeView"
            android:background="@color/green"/>
 
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
 
            <TextView
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:textColor="@android:color/black"
                android:text="Информатика и программирование"
                android:id="@+id/subjectTextView"
                android:gravity="center|left"
                android:layout_marginLeft="10dp"
                android:textSize="15sp" />
 
            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">
 
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:textColor="@android:color/black"
                    android:text="12 корпус, ауд.312"
                    android:id="@+id/locationTextView"
                    android:gravity="center|left"
                    android:layout_marginLeft="10dp"
                    android:layout_weight="1" />
 
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:textColor="@android:color/black"
                    android:text="Лекция"
                    android:id="@+id/subjectTypeTextView"
                    android:gravity="center|right"
                    android:layout_marginRight="15dp" />
            </LinearLayout>
        </LinearLayout>
 
    </LinearLayout>
</LinearLayout>
Миниатюры
Как задать отступы между определенными строками в ListView  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.08.2014, 00:37
Ответы с готовыми решениями:

Как вытащить из строки подстроки находящиеся между определенными строками
Имеется строка типа String st = &quot;&lt;%-- Шаблон --%&gt; Шаблон &lt;%-- Титул --%&gt; Титул &lt;%-- Текстовый блок --%&gt; Текст&quot;; ...

Отступы между строками таблицы
Проблема в следующем: Есть задание стилей в css: /*Задание стиля для верхней части страницы*/ .verh {width:1215px; ...

Отступы между строками таблицы
есть таблица &lt;table style=&quot;padding:0;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style=&quot;width: 125px; height:...

12
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
11.08.2014, 07:45
Лучший ответ Сообщение было отмечено Севак как решение

Решение

Я бы сделал кастомную вьюшку, в котрой сверху было бы время, а дальше пары, сколько угодно. А потом уже эти вьюшки в обычный scrollView. Отступы сделать - margin_bottom на верхний layout кастомной вьюшки.
2
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,083
11.08.2014, 08:22
А почему бы не использовать ExpandableListView?
1
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
11.08.2014, 18:00  [ТС]
тоже думал насчет этого! спасибо! на данный момент выглядит так (см. скрин)
думаю, если переделать под scrollview, то будет самое то!
Миниатюры
Как задать отступы между определенными строками в ListView  
0
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
12.08.2014, 06:19
Spelcrawler, зачем изобретать велосипед если если то что топикстартер показал на картинке это банальный ExpandableListView (как было сказано выше). Чтоб разделить ячейки в обычном личте используются методыsetDivider() и setDividerHeight(). Не знаю есть ли такие для ExpandableListView если таких нет то в разметку ячейки выпадающего списка достаточно впихнуть это:

XML
1
2
3
4
5
6
7
<View
        android:layout_width="match_parent"
        android:layout_height="толщина"
        android:background="#808080"
        android:layout_below="тут айдишник элемента под которым нужно эту линию запихнуть"
        android:layout_centerHorizontal="true"
        android:id="@+id/view1"></View>
эта штука представляет собой обычную линию которая и будет выполнять роль нужного вам разделителя
2
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
12.08.2014, 18:00  [ТС]
KillAndEat, спасибо за совет! но, на самом деле, expandablelistview мне немного не подходит, т.к. я не планирую по клику на время скрывать/показывать пары, в этом же вся суть этого вью, чтобы можно было организовать древовидную структуру?
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
12.08.2014, 18:03  [ТС]
на данный момент остановился на таком варианте списка, который меня вполне устраивает! осталось только немного доделать остальные виджеты
Миниатюры
Как задать отступы между определенными строками в ListView  
0
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
12.08.2014, 22:00
Севак, ExpandableListView имеет методы которые позволяют открыть группы и запретить их сворачивание и разворачивание. Но вам виднее, как удобней)
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
12.08.2014, 22:01
А чем плох такой "велосипед"? Мне вот удобнее самому все сделать) Есть какая то разница в производительности или еще в чем?
0
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
13.08.2014, 00:48
Spelcrawler, не знаю не проверял) но мне всегда казалось что армия программистов компании добра напишет более быстрый компонент, чем среднестатистический разраб)
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
13.08.2014, 10:47
ExpandableListView не очень удобен. Лучше использовать обычный ListView, в котором переопределить listview_item.
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
14.08.2014, 17:44  [ТС]
KillAndEat, в подробности не вдавался, но на данный момент оставлю как есть, в любом случае спасибо за совет
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
15.08.2014, 00:54
Севак, отступы между определёнными строка, наверное, можно сделать так. Добавляете в listview_item какой-нибудь TextView, делаете у него определённую высоту в программе (можно и вообще убирать). Таким образом можно делать любые отступы, хоть сверху, хоть слева.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2014, 00:54
Помогаю со студенческими работами здесь

RichEdit уменьшить отступы между строками
Здравствуйте!!! Я вывожу в RE шахматную доску, и т.к. отступ между строками больше чем между буквами, то доска вытягивается по высоте....

Убрать отступы между строками календаря
Добрый день форумчане! Написал простенький календарь, но при его отрисовке появляются отступы между строками. Мучаюсь второй день и...

Отступы между элементами в ListView в режиме VsSmallIcons
Привет всем. В делфи не новичок, решил написать утилиту (что то вроде WPI), но столкнулся с проблемой в стандартном ListView-е: при...

Задать выбор любых символов между двумя определенными
Нужно выбрать из строки текст произвольной длины между двумя определенными метками что-то типа такого Data_ =...

Задать количество пробелов между строками
Здравствуйте, форумчане! Возник такой вопрос: как можно численно задать к-во пробелов между строками (неважно какими, будь то текст, либо...


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

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

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru