在我的应用程序中,我希望左侧有滑动式菜单,就像facebook一样。
在我的前一个问题中,我提出了同样的问题,多亏了这个答案,我可以找到一种使用这个图书馆将布局滑动到右边的方法。但是,我发现,库实际上并没有滑动布局,相反,它只获取屏幕截图,并将图像向右滑动,因为布局上的组件是不可点击的。我需要这些部件可以点击。因此,我尝试了一种新的方法来实现这一目标:将幻灯片菜单放在左边,将其默认可见性保持为View.GONE
,并在左上角的“显示/隐藏菜单”按钮上显示它,如下图所示。
之前的布局:
现在,当我单击“显示/隐藏菜单”按钮时,布局类似于-
布局后:
正如您所看到的,右边的布局缩小了,因此按钮“一些其他视图”改变了它的宽度,即使我已经将android:minWidth
属性设置为右侧的这两个按钮以及它的父RelativeLayout
。
因此,我的问题是,有没有办法在不改变内部组件的宽度/布局的情况下,将布局向右移动?因此,在我看来,无论在哪一个领域,它都将被可以在该区域填充的任何部分内容所填充。
发布于 2012-07-02 04:26:04
这个问题可以这样解决:
关闭菜单类似:将第二个布局向左移动200,并将所有边距设置为0。
通过设置页边距,您将避免按钮收缩。
希望它能帮上忙
发布于 2012-07-02 20:31:23
@Rajkiran -我有一个根布局,其中包含我的左右布局。
我的右布局将layout_height设置为'match_parent‘& layout_widht也设置为'match_parent’
现在,当我的左滑动面板出现在按钮点击,我重新设置我的右布局的宽度和高度的编程,以匹配根布局的宽度和高度。
这完美地将正确的布局向右移动,而不需要内部组件的结束。
为了通过编程改变高度和宽度,我使用了-
rootLayoutParams = new LayoutParams(rootLayout.getWidth(), rootLayout.getHeight());
rightLayout.setLayoutParams(rootLayoutParams);
希望它也能帮到你。
https://stackoverflow.com/questions/11240928
复制