Positioning AndroidSlidingUpPanel to a specific height

5.3k views Asked by At

I am exploring https://github.com/umano/AndroidSlidingUpPanel library. When I slide the bottom panel, on slide complete it acquires complete screen area.

Can anyone help me, How to stop the bottom panel to a certain height, for e.g. slide it till middle of screen??

3

There are 3 answers

2
Giulio Prina Ricotti On

Have you considered using setAnchorPoint(float)?

From the DemoActivity in the SlidingUpPanelDemo project

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

this will make the panel slide to 30% of the screen height.

2
Omar Alnajjar On

yo can add android:layout_weight="0.85"

to your second child of SlidingUpPanelLayout

3
RexSplode On

+1 to @Guilio Prina Ricotti answer. To make it work, after you call

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

in the code, which triggers your slidind layout (for example, onClickListener), instead of calling slidingLayout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED); call

slidingLayout.setPanelState(SlidingUpPanelLayout.PanelState.ANCHORED);

Also don't forget to make your sliding component's height to be match_parent