2012-07-04 45 views
2

我有一个LinearLayout,它包含了几个按钮。为了让用户在屏幕上多(图)空间,我想隐藏在菜单中按这个LinearLayout中:Android:隐藏LinearLayout onKeyDown

if (keyCode == KeyEvent.KEYCODE_MENU) { 

       if (showButtons) { 
        showButtons = false; 
        LinearLayout lay = (LinearLayout) this.findViewById(R.id.buttonLayout); 
        laySize = lay.getHeight(); 

        go2trimsecond(); 
       } else { 
        showButtons = true; 
        go2trimsecond(); 
       } 

我以为我刚才保存的高度,如果(showButtons),布局的maxHeight更改为0并改变它回来如果(!showButtons),但不幸我错了,因为没有setMaxHeight。 任何想法我应该怎么做?

回答

2

嗨stefple, 这将是一个很好的帮助,如果你阐述你的需要。但是,我从你最近的帖子了解我想建议一个解决方案。

当你有你的布局奠定的实例。

只是做lay.setVisiblity(View.GONE)或lay.setVisiblity(View.INVISIBLE); 并且如果你想显示它再次只是做

lay.setVisibility(View.VISIBLE);

记住一点View.GONE将释放你的线性布局所占据,而View.INVISIBLE将继续占用的空间只是隐藏了布局的空间。

+0

非常棒,非常感谢! – stefple

+0

你的欢迎和继续..祝你好运 –

1

无需更改布局高度。由于LinearLayout也是一个视图,您可以在您的布局上调用setVisibility(int)方法。

+0

非常感谢,正想回答,这行不通的。我尝试setVisibilty(0),但与Suresoft的答案我得到它的工作。 – stefple