Używam BottomSheetBehavior
z Google ostatnio wydanego AppCompat v23.2. Wysokość dolnego arkusza zależy od zawartości wyświetlanej w dolnej części arkusza (podobnie jak w przypadku aplikacji Google w aplikacji Mapy).Dynamicznie zmienia wysokość BottomSheetBehavior
Działa to dobrze z wczytanymi danymi, ale moja aplikacja zmienia zawartość wyświetlaną w czasie wykonywania, a kiedy tak się dzieje, dolny arkusz zachowuje swoją dawną wysokość, co prowadzi do niewykorzystanego miejsca na dole lub skrótu widoku.
Czy istnieje sposób informowania układu dolnego arkusza o ponownym obliczeniu wysokości używanej dla stanu rozwiniętego (gdy wysokość ViewGroup
jest ustawiona na MATCH_HEIGHT
) lub w dowolny sposób ręcznie ustawić wymaganą wysokość?
EDIT: Próbowałem też ręcznie wywołać invalidate()
na ViewGroup
i rodzica niego, ale bez powodzenia.
można zrobić wysokość widok ustawiony wrap_parent a następnie widok po treści unieważnienie jest ładowany –
widok wysokość jest ustawiona na wrap_parent, ale moim problemem jest to, że gdy widok jest unieważnione nie przeliczyć wysokość to i dolny arkusz pozostaje tak, jak było przed – miho
Patrząc na kod BottomSheetBehavior, oblicza on wysokość w metodzie onLayoutChild, która jest wywoływana przez CoordinatorLayout. Czy próbowałeś unieważnić to przez wywołanie na requestLayout()? – mattmook