每次单击菜单时都会切换linearlayout(imageview)

时间:2013-01-30 06:19:28

标签: java android listview layout

我有一个菜单图像视图,当点击它时我的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);
         }
     });

2 个答案:

答案 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.
   }