Страница 1 из 1
Объединение View элементов
Добавлено: 13 апр 2014, 04:23
supradin
Доброго дня, уважаемые форумчане!
Сразу оговорюсь, что в андроид-программировании я совсем новичок. Сегодня только первый день, как я сижу за разработкой приложения.
Итак, у меня к вам следующий вопрос: "Можно ли каким-то образом объединить View-компоненты? Например, ImageButton и TextField."
Я хочу иметь полноценный View-компонент, который будет полностью описывать папку/файл (т.е. ярлычок + имя). Так как я изучил лишь первые уроков 20, возможно я чего-то просто напросто не знаю
Моя идея решения этой проблемы мне, честно говоря, не очень нравится
(в единый компонент как бы объединены
folderButton1 и текст
textView2)

Re: Объединение View элементов
Добавлено: 13 апр 2014, 08:12
Foenix
вам стоит начать с уроков, тогда этот вопрос отпадет сам собой
Re: Объединение View элементов
Добавлено: 13 апр 2014, 13:13
supradin
Foenix, не мог бы ты указать, какие уроки мне помогут в решении проблемы?
Может я чего упустил, или даже не дошёл...
Re: Объединение View элементов
Добавлено: 13 апр 2014, 16:25
Foenix
Вы сказали, что в первый день программируете, значит ни одного урока пройти не смогли. Да и не похоже, что читали. Начинайте с самого начала - поймете рекомендуемый принцип построение layout-а. А то у вас совсем что-то неординарное. Нарушать правила нужно с пониманием что именно ты делаешь.
Re: Объединение View элементов
Добавлено: 14 апр 2014, 00:19
supradin
Например, у меня задача: иметь на рабочем столе 12 файлов/папок (пусть 3 строки по 4 столбца)
Саму эту задачу удобнее всего решить, используя TableLayout. Что, собственно, я и сделал.
Что касается вопроса ассоциации ярлычок+подпись, то самое логичное, что приходит на ум, это конечно RelativeLayout. Посредством этого лэйаута мы можем легко "пригвоздить" текст к каждому ярлычку.
Но когда я пытался создать RelativeLayout внутри TableLayout (то есть создаю три tableRow, в каждой из них имеются связанные RelativeL пары ярлычок+имя), выводились ошибки и недовольства со стороны иде. Пока я не понял, что так его разозлило, но от этой идеи отказался.
Поэтому и пришёл к идее иметь в одной строке ярлычок, а в строке ниже - подпись. Хотя я и говорю, что данная реализация мне совершенно не нравится.
Re: Объединение View элементов
Добавлено: 14 апр 2014, 00:28
supradin
Я начал думаю над использованием AbsolutLayout. Да, в уроках говорится прямым текстом: "Это самый ненадёжный лэйаут. При его использовании могут возникнуть ошибки при использовании приложении на устройствах с разными диагоналями"
(Задача та же, иметь на рабочем столе 12 файлов/папок. Пусть 3 строки по 4 столбца)
Собственно, в чём состоит идея:
- на каждом экране мы узнаёт его собственные параметры длины и ширины экрана
- на основании их мы получаем центр для расположения каждой иконки (например, если scrLength - длина экрана, то первый столбец каждой строки по абсциссе будет располагаться scrLength/5. аналогично получаем координаты по ординате)
- собственно, расставляем ярлычки по полученным координатам и "приклеиваем" к ним снизу подписи. Профит!
То есть эта идея использует AbsoluteLayout, вместо Table.
Но вопрос, можно ли AbsoluteL использовать TableL, остаётся открытым. Т.к. сейчас ПК нет под рукой.
Re: Объединение View элементов
Добавлено: 14 апр 2014, 10:55
Foenix
Попробуйте теперь с RelativeLayout

Разместите свои картинки в 1 ряду, дав им одинаковые веса (тогда автоматом разделится все место н аэкране под них) а затем надпись - под каждой картинкой закрепите.
Re: Объединение View элементов
Добавлено: 17 май 2014, 15:16
supradin
Пожалуй, я уже все возможные лэйауты перебрал...
(зато, надеюсь, однажды разберусь) Хорошо, что их только 4
Foenix, спасибо Вам большое! Совсем неловко себя чувствую, что так запоздал со словами благодарности..