umano AndroidSlidingUpPanel调整主要内容的大小

时间:2014-01-28 04:18:11

标签: android

解决:

显然,源已更新以添加此功能。在发生这种情况之前,我分叉了源代码来做这个并且有一个标志来关闭方向变化。我的分叉是在github.com/Style87/AndroidSlidingUpPanel。我不认为我的更改已被纳入主分支,我不打算将其更新。

原始问题: 我正在使用umano AndroidSlidingUpPanel库。我的主要内容视图是Google地图片段,滑动面板是一个LinearLayout,其中包含来自Marker点击的动态内容。单击标记时,滑动面板将打开到锚点。当滑动面板停止时,我想重新调整主要内容的大小以填充剩余空间,使得地图的底部与滑动面板的顶部对齐。幻灯片停止后,如何将主要内容重新调整为剩余空间?

随意使用修改演示来解释。

3 个答案:

答案 0 :(得分:1)

通过将overlay属性设置为true,该库已更新为支持您的用例。

答案 1 :(得分:0)

如果您对编辑库感到满意,这是一个解决方案。而不是SlidingUpPanelLayout.java的第495行,而是;

height -= panelHeight;

使用以下代码

int tempHeight = height;

if(isAnchored()){
    // "x" is the height of sliding panel when it is Anchored
    height = x;
}else{
    height -= panelHeight;
}

假设您有能力计算 x 值。

答案 2 :(得分:0)

默认情况下,面板会推送主要内容。您可以使用setOverlayed方法或umanoOverlay属性覆盖主要内容。如果您想使滑动布局半透明,这将非常有用。您还可以将umanoClipPanel设置为false,以使面板在非叠加模式下透明。

请参阅Umano github wiki

设置sothree:umanoOverlay值为false。 例子

`sothree:umanoOverlay="false"`