web-dev-qa-db-ja.com

linearlayoutを非表示および表示

リニアレイアウトが1つあり、その中にボタンもいくつかあります。タッチすると表示され、もう一度タッチすると非表示になります。

どうすれば作れますか?

11
Koko Krunch
LinearLayout one = (LinearLayout) findViewById(R.id.one);
one.setVisibility(View.GONE);

View.GONEを使用すると、レイアウトの場所が表示されず、View.INVISIBLEとは異なり、アプリケーションに未使用のスペースが表示されないため、onclickイベントでINVISIBLEの代わりにGONEを使用することをお勧めします。レイアウト用のギャップを残します

27
Ruyonga Dan

コードにブール値を追加します

boolean flag = false;

次に、xmlの線形レイアウトにAndroid:clickable = trueを追加します

次に、このコードを参照用に使用します

your_linear_layout = new OnClickListener(){
    @Override
    public void onClick(View v) {
        if (flag){
        // means true
        your_linear_layout.setVisibility(View.INVISIBLE);
        flag = false; 
        }
        else{
        your_linear_layout.setVisibility(View.VISIBLE) 
        flag = true;
        }

    }

};   

Haventはまだこれを試しましたが、これは機能するはずです。

乾杯

3
Androyds

add setOnTouchListener to linearLayout get touch events as:

_linearLayout.setOnTouchListener(new OnTouchListener(){
  public boolean onTouch(View v, MotionEvent event){

     if (event.getAction() == MotionEvent.ACTION_DOWN) {

         // show-hide view here

        return true;
      }

     if (event.getAction() == MotionEvent.ACTION_UP) {

         // show-hide view here

        return true;
      }

   return false;
  }
});
_

ビューを表示するにはyourview.setVisibility(View.VISIBLE)を使用し、非表示にはyourview.setVisibility(View.INVISIBLE)を使用します

2

あなたはユーザーでなければなりません

見えない-:mButton.setVisibility(View.INVISIBLE);

表示-:mButton.setVisibility(View.VISIBLE);

このコードをボタンのonclickリスナーに入れて条件を確認します。

0
DynamicMind