我有一个菜单图像视图,当点击它时我的linearlayout(第2行)出现了,但是在菜单imageview的下一次点击它应该会再次消失
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
line1=(LinearLayout) findViewById(R.id.ll1);
line2=(LinearLayout)findViewById(R.id.ll2);
menu=(ImageView)findViewById(R.id.menu);
menu.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
menu.setVisibility(View.VISIBLE);
// TODO Auto-generated method stub
line1.setVisibility(View.VISIBLE);
line2.setVisibility(View.VISIBLE);
}
});
答案 0 :(得分:1)
您可以尝试 -
//line2.setVisibility(View.VISIBLE);
if(line2.getVisibility() == View.VISIBLE)
{
line2.setVisibility(View.GONE);
}
else
{
line2.setVisibility(View.VISIBLE);
}
答案 1 :(得分:0)
每次按下按钮并切换时,都可以使用if / else语句检查当前状态。如果您不打算将其设置为GONE,则不一定需要检查GONE的可见性,以便您可以删除该条件。
GONE和INVISIBLE之间的区别在于布局的反应就像它不存在一样,元素不再导致任何位移。
更改line2.setVisibility(View.VISIBLE);到
if (line2.getVisibility() == View.GONE || line2.getVisibility() == View.INVISIBLE ) {
line2.setVisibility(View.VISIBLE); }
else {
line2.setVisibility(View.GONE); // Set it to View.INVISIBLE if thats your goal.
}