请查看以下图片以了解问题:
如您所见,有一个RelativeLayout
,其中包含自定义View
和LinearLayout
。
在它们之间,还有另一个View
,Visibility
设置为GONE
。
现在,当我按下Button
时,我想将GONE
视图的可见性更改为VISIBLE
,然后重新排列RelativeLayout
,以便第三个{{1}在自定义View
和View
之间获取。当我按下另一个按钮时,我想再次进行第三次观看GONE。我怎样才能做到这一点?
这是我的XML:
LinearLayout
如果我只在OnClick()方法中设置第三个视图的可见性,它将显示在LinearLayout上方,它将覆盖自定义视图(我之前尝试过)。换句话说,它不会移动RelativeLayout。
答案 0 :(得分:12)
findViewById(R.id.button1).setOnClickListener(new OnClickListener(){
public void onClick(View v) {
findViewById(R.id.hiddenview).setVisibility(View.GONE);
findViewById(R.id.relativelayout).invalidate();
}
});
findViewById(R.id.button2).setOnClickListener(new OnClickListener(){
public void onClick(View v) {
findViewById(R.id.hiddenview).setVisibility(View.VISIBLE);
findViewById(R.id.relativelayout).invalidate();
}
});
答案 1 :(得分:-1)
在您的活动中,onClick()
将GONE
视图的实例设为View.VISIBLE
,以便它在两个视图之间重新显示。
viewName.setVisibility(View.VISIBLE);
为此,VIEW
之间应该已经存在于xml中,只是默认为GONE
!