Форум программистов, компьютерный форум CyberForum.ru

Оформление элемента списка ListView - Android

Восстановить пароль Регистрация
 
Dmitrin
21 / 21 / 3
Регистрация: 04.12.2012
Сообщений: 513
13.11.2015, 22:11     Оформление элемента списка ListView #1
Здравствуйте. Подскажите, как можно добиться результата, показанного на рисунке 1 (это в Paint подрисовано )

У меня сейчас выглядит как на рисунке 2.
Для каждого элемента списка я пишу свойство android:background="@drawable/scheduleborder">

Код ScheduleBorder.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
  <solid android:color="#ffffff" />
  <corners
      android:bottomLeftRadius="8dp"
      android:bottomRightRadius="8dp"
      android:topLeftRadius="8dp"
      android:topRightRadius="8dp" />
  <stroke
      android:width="1dp"
      android:color="#808080" />
</shape>
Для задания фона разного цвета я, наследуя SimpleAdapter, создал свой адаптер и в нем изменяю только задний фон (код на C#, но принцип, я думаю, на Java такой же)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class ScheduleAdapter : SimpleAdapter
    {
        private int[] alternatingColors;
        public ScheduleAdapter(Context context, IList<IDictionary<string, object>> data, int resource, string[] from, int[] to)
            : base(context, data, resource, from, to) 
        {
            alternatingColors = new int[] { 0xFFDBDB, 0xFEFFDB, 0xE7FFDB, 0xDBFFFF };
        }
 
 
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View returnView = base.GetView(position, convertView, parent);
            returnView.SetBackgroundColor(GetColorFromInteger(alternatingColors[position % alternatingColors.Length]));
            return returnView;
        }
 
        private Color GetColorFromInteger(int color)
        {
            return Color.Rgb(Color.GetRedComponent(color), Color.GetGreenComponent(color), Color.GetBlueComponent(color));
        }
Но получается не очень - результат на рисунке 3. Подскажите, можно ли как-нибудь добиться именно того результата, как показано на первом рисунке? Если не хватает каких-нибудь данных - пишите, распишу поподробнее. Очень нужна помощь.
Миниатюры
Оформление элемента списка ListView   Оформление элемента списка ListView   Оформление элемента списка ListView  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2015, 22:11     Оформление элемента списка ListView
Посмотрите здесь:

Android Замена элемента в ListView
Android Ошибка добавления списка контактов в ListView
Нажатием на пункт списка в ListView получить значение Android
Android выделение элемента в ListView
ListView не работает выбор элемента Android
Android ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии?
Android Скрытие элемента ListView
Android ListView - как добавлять данные из БД в начало списка?
Зафиксировать пзицию элемента в ListView Android
Элемент списка listView и БД SQLlite Android
Android Переход с элемента listView на activity
Оформление ListView Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hank
42 / 33 / 2
Регистрация: 28.12.2011
Сообщений: 210
14.11.2015, 00:28     Оформление элемента списка ListView #2
Не понял, вы после запуска, в коде, каждому item'у повторно назначаете цвет фона?
Yandex
Объявления
14.11.2015, 00:28     Оформление элемента списка ListView
Ответ Создать тему

Метки
listview, simpleadapter
Опции темы

Текущее время: 14:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru