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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
AlexFurious
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 10
#1

Динамическое создание кнопок на Mono Android - Android

22.04.2012, 22:24. Просмотров 2105. Ответов 8
Метки нет (Все метки)

Доброго времени суток. Разработку под Андроид начал изучать совсем недавно. Выбрал следующую задачу:

при запуске проекта подключаемся бд SQLite, с определенной таблицы я получаю строки, в которых содержатся имена будущих кнопок (на данный момент всего 3 имени). Естественно, количество, возможно в будущем, увеличится.

На данный момент я умею создавать необходимое количество кнопок, но проблема в том, что кнопки растягиваются на весь экран... Как убрать исправить данную ошибку (рис. 1) я не знаю и посему прошу помощи.

Так же интересует вопрос: как указать начальные координаты Х и У для кнопки?
Миниатюры
Динамическое создание кнопок на Mono Android  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2012, 22:24     Динамическое создание кнопок на Mono Android
Посмотрите здесь:

Android Динамическое создание объекта
Динамическое создание кнопки Android
Android Динамическое создание кнопок и их кривая отрисовка
Android Динамическое создание интерфейса
Динамическое создание кнопок в цикле (Android) Android
Реализация кнопок "Поделиться в соцсетях" в Android приложении Android
Динамическое создание элементов интерфейса Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
23.04.2012, 12:00     Динамическое создание кнопок на Mono Android #2
создавать кнопки с размером WRAP_CONTENT а не FILL_PARENT.
координаты можно задать, если размещать кнопки в absolute layout.
или в любом другом layout вписать margin(отступ) какой нам требуется.
AlexFurious
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 10
23.04.2012, 21:09  [ТС]     Динамическое создание кнопок на Mono Android #3
Еще такой вопрос... нужно сделать вывод на экран сразу нескольких объектов с помощью SetContentView()? Пытался вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ViewGroup.LayoutParams layoutParams2 = new ViewGroup.LayoutParams(10, 20);
            DatePicker picker = new DatePicker(this);
            picker.LayoutParameters = layoutParams2;
 
            ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(30, 40);
            Button bt = new Button(this);
            bt.LayoutParameters = layoutParams;
 
            View[] viewArr = new View[4];
            viewArr[1] = new Button(this);
            viewArr[0] = new DatePicker(this);
            for (int i = 0; i < 2; i++)
            {
                    SetContentView(viewArr[i]);
            }
ничего не получилось выводит только первый элемент массива.
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
24.04.2012, 01:17     Динамическое создание кнопок на Mono Android #4
ибо сначала надо создать Layout. а уже на нем создавать View. и вот этот самый Layout и пихать в setContentView.
вот вам пример создания view в компоненте:
Java
1
2
3
4
5
6
7
8
LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        params.setMargins(5,5,5,5);
        TextView tvTemp=new TextView(this.getContext());
        tvTemp.setLayoutParams(params);
        tvTemp.setId(k); k++;
        this.addView(tvTemp);
вот только вместо this(контекст компоненты) надо вставить имя вашего Layout.
AlexFurious
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 10
24.04.2012, 13:51  [ТС]     Динамическое создание кнопок на Mono Android #5
Спасибо большое за помощь. Задание выполнено. Хочу немного украсить работу... Как изменить background в элементах, например, в кнопке? В шарпе с этим просто, но в моно такая фича не прокатила. Подскажите как это реализовать.
hellslade
4 / 4 / 0
Регистрация: 06.04.2012
Сообщений: 20
24.04.2012, 13:54     Динамическое создание кнопок на Mono Android #6
в разметке. android:background почитайте заодно про selector http://developer.android.com/guide/t...-resource.html
AlexFurious
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 10
24.04.2012, 14:26  [ТС]     Динамическое создание кнопок на Mono Android #7
Цитата Сообщение от hellslade Посмотреть сообщение
в разметке. android:background почитайте заодно про selector
Не подходит, мы не ищем легких путей

Ответ оказался прост
C#
1
2
3
4
5
6
7
8
int colorRed = -65536,
                    colorGreen = -16711936;
if (i % 2 == 0)
{
    btns[i].SetBackgroundColor(colorGreen);
}
else
    btns[i].SetBackgroundColor(colorRed);
hellslade
4 / 4 / 0
Регистрация: 06.04.2012
Сообщений: 20
24.04.2012, 14:31     Динамическое создание кнопок на Mono Android #8
ну логично...если в коде надо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2012, 01:08     Динамическое создание кнопок на Mono Android
Еще ссылки по теме:

Динамическое создание интерфейса Android
Android Построение UI для Android приложения на C# Mono
Динамическое создание drawable-ресурса Android
Android Динамическое создание элементов на активити
Android Динамическое создание таблиц SQLite

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

Или воспользуйтесь поиском по форуму:
silentnuke
Android Programmer
138 / 139 / 5
Регистрация: 08.12.2010
Сообщений: 421
29.04.2012, 01:08     Динамическое создание кнопок на Mono Android #9
Цитата Сообщение от Bes-s Посмотреть сообщение
если размещать кнопки в absolute layout.
епрст, накой советовать юзать deprecated элемнеты?
Yandex
Объявления
29.04.2012, 01:08     Динамическое создание кнопок на Mono Android
Ответ Создать тему
Опции темы

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