Позиционирование AndroidSlidingUpPanel на определенной высоте

Я изучаю библиотеку https://github.com/umano/AndroidSlidingUpPanel. Когда я сдвигаю нижнюю панель, при завершении слайда она занимает всю площадь экрана.

Может ли кто-нибудь помочь мне, как остановить нижнюю панель на определенной высоте, например. сдвиньте его до середины экрана??


person V A    schedule 17.08.2013    source источник
comment
у меня сейчас такая же проблема, вам удалось найти решение?   -  person AndroidEnthusiast    schedule 10.12.2013


Ответы (3)


Рассматривали ли вы возможность использования setAnchorPoint(float)?

Из DemoActivity в проекте SlidingUpPanelDemo

SlidingUpPanelLayout layout = (SlidingUpPanelLayout) findViewById(R.id.sliding_layout);
layout.setAnchorPoint(0.3f);

это приведет к скольжению панели до 30% высоты экрана.

person Giulio Prina Ricotti    schedule 13.01.2014
comment
Настройка точки привязки сработала?? Я не мог ограничить скольжение, установив точку привязки. - person Atmaram; 26.11.2014
comment
он работает, но показывает только половину нижней панели. есть ли решение для изменения размера нижней панели в соответствии с изменением панели выдвижения - person Sharon Joshi; 14.06.2019

+1 к ответу @Guilio Prina Ricotti. Чтобы заставить его работать, после того, как вы позвоните

SlidingUpPanelLayout layout = (SlidingUpPanelLayout)findViewById(R.id.sliding_layout);
layout.setAnchorPoint(0.3f);

в коде, который запускает ваш слайд-макет (например, onClickListener), вместо вызова slidingLayout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED); call

slidingLayout.setPanelState(SlidingUpPanelLayout.PanelState.ANCHORED);

Также не забудьте сделать высоту вашего скользящего компонента равной match_parent.

person RexSplode    schedule 12.01.2016
comment
Я хотел спросить одну вещь, я использовал метод setAnchorPoint(0.5f), чтобы привязать скользящую панель к половине высоты экрана вверх. Но когда я начинаю перетаскивать панель вверх, она перемещается вверх. Мое требование состоит в том, что я не хочу скользить панель вверх, я только хочу, чтобы макет был привязан к половине экрана, когда я перетаскиваю его вверх, а когда я перетаскиваю его вниз, панель должна опускаться вниз. - person Samarth Kejriwal; 06.02.2017
comment
@SamarthKejriwal, вы нашли решение, у меня тоже есть такое же требование, но не могу заставить его работать таким образом - person suulisin; 07.06.2017
comment
Боюсь, вам придется использовать другую библиотеку или написать для этого свой собственный компонент. Я не нашел способ сделать это. - person RexSplode; 01.08.2017

ты можешь добавить android:layout_weight="0.85"

вашему второму ребенку SlidingUpPanelLayout

person Omar Alnajjar    schedule 03.09.2018
comment
Я знаю, что поздно, но это помогло! - person revipod; 24.09.2019
comment
@revipod Я рад, что тебе помогло - person Omar Alnajjar; 25.09.2019