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

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

Войти
Регистрация
Восстановить пароль
 
Benderbej
1 / 1 / 0
Регистрация: 05.06.2013
Сообщений: 21
#1

Ссылка на текущий лейаут внутри активити? - Android

19.01.2016, 20:00. Просмотров 190. Ответов 2
Метки нет (Все метки)

Как начинающему android-программисту, мне часто приходится "заимствовать решения" в интернете, на stackoverflow, например... Пытаясь собрать разные решения из разных источников в единое целое, порой возникают вопросы, которые просто так, учись я по книжке, у меня не возникли бы.
Итак...

Вопрос, наверное нубский. но все же. Как я понял, создавая активити, мы можем применять два похода для создания внутри него элементов view.
1) Мы можем прописать нашу вьюшку в структуре лейаут-файла этой активити, а затем "подцепить" эту вьюшку по id внутри кода активити с помощью функции findById()
2) Мы можем создать лейаут целиком программно, расширив какой-нибудь, к примеру LinearLayout класс ... а затем создать, программно вьюшки и с помощью addView() добавить их в данный лейаут в коде активити, либо в самом нашем классе лейаута....

Вопрос.
А можно ли, не указывая в файле XML-лейаута вьюшки, создавать ее в активити программно(
Java
1
GridView gv = new GridView(this);
) и привязывать ее к лэйауту? И как тогда получить ссылку, на этот текущий лейаут? На внутренние, дочерние лейауты?
Пробовал
Java
1
R.layout.activity_main.addView(?????)
, но подсветка кода говорит мне что я не прав=))
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2016, 20:00     Ссылка на текущий лейаут внутри активити?
Посмотрите здесь:

Android Как отобразить ViewPager внутри другой активити
Android Не выводится фон на активити
Активный фрагмент внутри активити Android
Android Заменить Активити на Фрагменты
Android Рандомный активити [Эклипс]
Android Взаимодействие активити с фрагментами
Активити не уходят из памяти Android
Android Ссылка из textView на другую активити
AsynkLoader и поворот активити Android
Android Bluetooth и два активити
Android Ситуации пересоздания активити
Android Не создается автоматическая активити

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
резкий
1964 / 1699 / 526
Регистрация: 12.05.2014
Сообщений: 6,054
Завершенные тесты: 1
19.01.2016, 20:30     Ссылка на текущий лейаут внутри активити? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
внутри активити метод setContentView(R.layout.my_layout) устанавливает какую разметку использовать для активити, это я так понимаю ясно

теперь как добавить, например, View (мы где-то внутри активти, например onCretate())
Java
1
2
3
4
        View v = new View(this);
        v.setBackgroundResource(R.color.colorAccent); // задать свой цвет, для примера
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(200, 100);
        addContentView(v, params);
или можно своему основному, корневому лаяуту в разметке активти задать id, допустим
XML
1
android:id="@+id/rootLayout"
тогда код будет такой
Java
1
2
3
4
5
        CoordinatorLayout layout = (CoordinatorLayout) findViewById(R.id.rootLayout);
        View v = new View(this);
        v.setBackgroundResource(R.color.colorAccent);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(200, 100);
        layout.addView(v, params);
у меня основной лаяут - CoordinatorLayout

От себя добавлю - знать как программно добавлять вьюшки и лайуты конечно полезно, но вообще принято все что возможно - выносить в ресурсы. Все в xml.
Сначала это непривычно, но все втягиваются и потом проникаются.
Benderbej
1 / 1 / 0
Регистрация: 05.06.2013
Сообщений: 21
19.01.2016, 20:56  [ТС]     Ссылка на текущий лейаут внутри активити? #3
Большое спасибо! Буду пробовать... Хочется для начала хоть примерно прощупать, что можно, что нельзя.. И, конечно же, как принято(потому что, зачастую, "принято" - не просто так. С этой точки зрения, буду стараться все структуры где возможно выводить в xml... Ну и как я понял этот инструмент(лейауты) отлично подходит под адаптацию под разные устройства... Наверное и при усложнении приложений, такая шаблонизация полезна...
Yandex
Объявления
19.01.2016, 20:56     Ссылка на текущий лейаут внутри активити?
Ответ Создать тему
Опции темы

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