Я использую BottomSheetBehavior
от недавно выпущенного AppCompat v23.2 от Google. Высота моего нижнего листа зависит от содержимого, отображаемого внутри нижнего листа (аналогично тому, что делает Google в приложении «Карты»).Динамически меняйте высоту BottomSheetBehavior
Он отлично работает с первоначально загруженными данными, но мое приложение меняет содержимое, отображаемое во время выполнения, и когда это происходит, нижний лист сохраняет свою прежнюю высоту, что либо приводит к неиспользованному пространству внизу, либо к разрезу зрения.
Есть ли способ сообщить строчку нижнего листа, чтобы пересчитать высоту, используемую для расширенного состояния (когда высота ViewGroup
установлена на MATCH_HEIGHT
) или любым способом вручную установить требуемую высоту?
EDIT: Я также попытался вручную вызвать invalidate()
на ViewGroup
и родителя его, но без какого-либо успеха.
вы могли бы сделать высоту вида, установленного на wrap_parent, а затем аннулировать вид после вашего контента загружается –
высота вид устанавливается на wrap_parent, но моя проблема в том, что когда-то точка зрения признана недействительной не пересчитывать высоту он и нижний лист просто остаются такими, какими они были до – miho
. Смотря на код BottomSheetBehavior, он вычисляет высоту в методе onLayoutChild, который вызывается CoordinatorLayout. Вы пытались сделать недействительным то, что вызвав requestLayout() на нем? – mattmook