0

私はメニューイメージビューを持っています。それをクリックすると、私の線形レイアウト(ライン2)が表示されますが、メニューイメージビューの次のクリックで再び消えるはずです

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);
         }
     });
4

2 に答える 2

1

あなたが試すことができます -

       //line2.setVisibility(View.VISIBLE);
       if(line2.getVisibility() == View.VISIBLE)
       {
           line2.setVisibility(View.GONE);
       }
       else
       {
           line2.setVisibility(View.VISIBLE);
       }
于 2013-01-30T06:35:31.797 に答える
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.
   }
于 2013-01-30T06:32:12.020 に答える