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

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

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

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

19.01.2016, 20:00. Просмотров 221. Ответов 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 Ссылка из textView на другую активити
Активный фрагмент внутри активити Android
Android Как отобразить ViewPager внутри другой активити
На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити Android
Как вызвать метод в активити классе из обычного не активити класса? Android
Android Отображение активити поверх другого активити
Android Изменение параметров активити из другого активити
Вызов новой активити не из класса активити Android
Android Активити
Активити и фрагмент Android
Android Пересоздание активити
Android Абстрактная активити

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2459 / 1904 / 591
Регистрация: 12.05.2014
Сообщений: 6,712
Завершенные тесты: 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... Ну и как я понял этот инструмент(лейауты) отлично подходит под адаптацию под разные устройства... Наверное и при усложнении приложений, такая шаблонизация полезна...
Ответ Создать тему
Опции темы

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