隐藏并显示linearlayout

时间:2013-01-14 05:36:22

标签: android android-linearlayout

我有一个linearlayout并且里面还有几个按钮。我想让它在触摸时可见,再触摸它时看不见。

我该怎么做?

4 个答案:

答案 0 :(得分:25)

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

我建议您在onclick事件中使用GONE而不是INVISIBLE,因为     View.GONE布局的位置将不可见,并且应用程序似乎没有未使用的空间,而View.INVISIBLE将留下用于布局的间隙

答案 1 :(得分:3)

在代码上添加布尔值

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

    }

};   

还没试过这个,但这应该有用..

干杯

答案 2 :(得分:2)

setOnTouchListener添加到linearLayout获取触摸事件:

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)

答案 3 :(得分:0)

你应该是用户

隐形 - :mButton.setVisibility(View.INVISIBLE);

Vsible - :mButton.setVisibility(View.VISIBLE);

将此代码放入按钮的onclick列表器中,并检查是否有条件。