Установить поля программно для тега Fragment - PullRequest
0 голосов
/ 19 сентября 2019

Можно ли программно установить поля для фрагмента тега в Android?.

<fragment
    android:id="@+id/nav_host_fragment"
    android:name="androidx.navigation.fragment.NavHostFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="top"
    android:layout_marginBottom="?attr/actionBarSize"
    app:defaultNavHost="true"
    app:navGraph="@navigation/main_nav_graph" />

Заранее спасибо

1 Ответ

0 голосов
/ 19 сентября 2019

Было бы лучше, если бы вы использовали FrameLayout вместо Fragment Tag.Вот пример этого.

getSupportFragmentManager()
            .beginTransaction()
            .add/replace(R.Id.your_frame_layout_id, new YourFragment())
            .commit();

Затем вы можете получить параметры макета для родительского макета вашего FrameLayout.Например, если ваш фрейм находится внутри RelativeLayout, получите параметры для Относительного макета.

 RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams)fl.getLayoutParams();
    rlp.setMargins(0,0,0,0); //Set your margins here 
    fl.setLayoutParams(rlp);

Я написал ответ в терминах Java.Если вы ищете kotlin, то подход может быть похожим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...