Де слід застосувати зміни в програмі при компоновці Android-активності?

Я пишу активність в Android, в якій мені потрібно внести певні зміни в програму при макеті при ініціалізації.

Дія використовує стандартний виклик наCreate, який встановлює перегляд вмісту з XML-ресурсу через setContentView (R.layout.main). Це добре працює. Однак мені потрібно змінити положення деяких об'єктів у моєму коді.

Коли я намагався викликати object.layout зсередини наCreate і onResume, зміна макета ніколи не здається застосованим.

Чи є десь інше, я повинен це робити?

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);
    LinearLayout rl = (LinearLayout) findViewById(R.id.navPanel);
    Rect myrect = new Rect();
    rl.getLocalVisibleRect(myrect);
    rl.layout(myrect.left,-120,myrect.right,(myrect.bottom-myrect.top)-120);
0
будь ласка, наведіть код, як ви внесете зміни?
додано Автор Lukap, джерело
Спробуйте вставити код тут, щоб нам було налагодити.
додано Автор Bosah Chude, джерело

1 Відповіді

Ви самі не повинні називати layout() . Android обробляє це. Вам потрібно робити інші речі, щоб вплинути на зміну макета, як правило, коригувавши параметр LayoutParams для віджету.

1
додано
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.