Страница 1 из 1

Программное создание элементов

Добавлено: 21 июн 2013, 21:38
Anton
Всех здрасте, в полку новичков прибыло, вот залетел на огонек вопрос задать, может подскажите.
Задача: Программно вывести в ряд 3 элемента: 2 текста(TextView) и картинку.

Код: Выделить всё

LinearLayout mainWrapper = new LinearLayout(this);  // Создание Лайаута обертки
mainWrapper.setOrientation(LinearLayout.VERTICAL);  // Установка ориентации
TextView textViews = new TextView(this);               //Создание первого текствью
TextView textViews2 = new TextView(this);              // Создание второго текствью
textViews.setText(position+1+" Вопрос");                // Установка текста 
textViews2.setText(text);                                     // Установка текста 
mainWrapper.addView(textViews);                        //  Добавление в лайаут обертку
mainWrapper.addView(textViews2);                        //  Добавление в лайаут обертку
lMain.addView(mainWrapper);                                 // Добавление обертки в уже сеществующий лайаут
На этом этапе все норм, но текст вью получаются не на одной линии, на вашем форуме вычитал, что необходимо им одинаковый вес установить, но вот не получается.

Код: Выделить всё

mainWrapper.getLayoutParams().weight==1
Подскажите пожалуйста как правильно выставить их в ряд, и заодно правильно ли я наполняю Лайаут, может есть дугой способ. Заранее спасибо

Re: Программное создание элементов

Добавлено: 21 июн 2013, 21:59
KamiSempai
Тут нужно вопрос по другому задавать. Зачем Вам это нужно? С использованием XML разметки ну ни как не получается?

Re: Программное создание элементов

Добавлено: 21 июн 2013, 22:44
antihawk
Был урок, где программно создавали компонеты, где-то в начале

Re: Программное создание элементов

Добавлено: 21 июн 2013, 23:30
xr0m
Вес нужно не для слоя устанавливать, а для элементов.
Что бы было "в линию", нужно использовать горизонтальную ориентацию.

Re: Программное создание элементов

Добавлено: 22 июн 2013, 00:13
Anton
KamiSempai писал(а):Тут нужно вопрос по другому задавать. Зачем Вам это нужно? С использованием XML разметки ну ни как не получается?
к сожалению не вышло, там генерация элементов заранее в неизвестном количестве, возможно есть метод взять пустой элемент заранее сделанный в разметке и копировать его наполняя нужными мне данными?
antihawk писал(а):Был урок, где программно создавали компонеты, где-то в начале
да, я сначала погуглил, вот этот урок http://startandroid.ru/ru/uroki/vse-uro ... henii.html
Но прочитав его я не смог реализовать задуманного
xr0m писал(а):Вес нужно не для слоя устанавливать, а для элементов.
Что бы было "в линию", нужно использовать горизонтальную ориентацию.
Я специально привел код который использую, на 2 строке устанавливаю ориентацию LinearLayout.VERTICAL и в этот элемент уже помещаю ТекстВью, которые по идее должны становится в линию, но не становятся :oops:

Re: Программное создание элементов

Добавлено: 22 июн 2013, 01:29
KamiSempai
Anton писал(а):да, я сначала погуглил, вот этот урок http://startandroid.ru/ru/uroki/vse-uro ... henii.html
А вот этот урок не нагуглился? http://startandroid.ru/ru/uroki/vse-uro ... apter.html

Re: Программное создание элементов

Добавлено: 22 июн 2013, 11:32
xr0m
Anton писал(а):на 2 строке устанавливаю ориентацию LinearLayout.VERTICAL и в этот элемент уже помещаю ТекстВью, которые по идее должны становится в линию
Мой телепатор подсказывает, что линия - это строка, а значит ось Х. Хотя мне твой вопрос не понятен, рисунка нет, объяснение никакое.