Czy podczas tworzenia RelativeLayout w środowisku wykonawczym można ustawić android:layout_below
programowo odpowiednik?
203
Czy podczas tworzenia RelativeLayout w środowisku wykonawczym można ustawić android:layout_below
programowo odpowiednik?
Tak:
RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.below_id);
viewToLayout.setLayoutParams(params);
Najpierw kod tworzy nowe parametry układu, określając wysokość i szerokość. addRule
Metoda dodaje równowartość xml prawidłowo android:layout_below
. Następnie wystarczy wywołać View#setLayoutParams
widok, który chcesz mieć te parametry.
Alternatywnie możesz użyć widoków bieżących parametrów układu i zmodyfikować je:
źródło
LayoutParams
a nie tworzyć nowe. W rzeczywistości należy to zaakceptować jako prawidłową odpowiedź.Chociaż odpowiedź @jackofallcode jest poprawna, można ją zapisać w jednym wierszu:
źródło
LayoutParams
do ustawieniasetLayoutParams
Wersja Kotlin z funkcją infix
Następnie możesz napisać:
Możesz też nazwać to normalną funkcją:
źródło