动态替换视图而不更改活动

时间:2012-09-16 17:59:51

标签: android view

我想知道如何在制作视频播放器应用时遇到这个小问题。 First

单击上图中的第一个控件(矩形图标)时,必须显示以下视图而不是它,我不确定如何操作。以下是它所取代的内容 Second

另请注意,任何机会都不应更改活动。我已经能够单独设计视图,但在用户点击时在运行时更改它们的问题。有人可以解释如何做到这一点或提供一些合适的链接来实现我的目标。感谢。

3 个答案:

答案 0 :(得分:2)

对于像这样简单的事情,您只需更改视图的可见性即可。

view.setVisibility(View.INVISIBLE)

或更有效:

view.setVisibility(View.GONE)

在您想要的视图上执行此操作,我建议使用包装器类。它是这个或改变contentView,如下所述。

答案 1 :(得分:0)

this.setContentView(R.layout.newLayoutToUse);

但是,我觉得有更好的方法可以做你想做的事。如果您只是想要更改某些按钮或图像视图的图像,那么加载一个完整的新布局就太过分了。

答案 2 :(得分:0)

这可能是一个愚蠢的解决方案,因为我现在非常疲惫,但为什么不在bringToFront()上使用你想在前面显示的View方法呢?将它们显示在彼此前面,可能在RelativeLayout中,然后根据需要在它们之间交换。 它们是小对象,所以不要消耗内存。我不明白为什么这不起作用。

OR

将它们放在彼此之上,使它们重叠,然后根据您需要显示的视图使上述视图可见/不可见。

OR

记得我曾在某处读到你可以从代码中自动滚动ScrollView。因此,在Views中连续显示ScrollView,按下按钮或其他任何内容时,向下滚动即可显示下一个菜单。当回来时,你向上滚动以使之前的东西可用。应该可以工作,也可以在更改菜单之间制作一个漂亮的动画。