Na przykład, jeśli chcesz ot zmianę LayoutParams
jakiegoś względu na WRAP_CONTENT
zarówno width
i height
programmaticaly, będzie wyglądać somethong tak:Dlaczego używamy setLayoutParams?
final ViewGroup.LayoutParams lp = yourView.getLayoutParams();
lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
lp.width = ViewGroup.LayoutParams.WRAP_CONTENT;
Jak undestood getLayoutParams
powraca odniesienia dla parametrów, więc ten kod będzie wystarczy, ale często widzę w przykładach i tak dalej, że po tej linii, jedna następująco:
yourView.setLayoutParams(lp);
i zastanawiam się jaki jest sens tej linii. Czy jest to tylko ze względu na lepszą czytelność kodu lub są przypadki, kiedy nie będzie działać bez niego?
Głosuję czytelność. Jednak nigdy nie widziałem tych przykładów, w których istniejące widoki wymagają dynamicznej zmiany rozmiaru. Zwykle widoki są dynamicznie dodawane do widoku treści. W takich przypadkach potrzebna jest setLayoutParams. –