如何使用按钮单击隐藏布局?

时间:2011-11-18 14:23:05

标签: android android-layout

在此代码中,我尝试了一些触摸屏事件

    @Override
public boolean onTouchEvent(MotionEvent touchevent) {

    switch (touchevent.getAction())
    {
        case MotionEvent.ACTION_DOWN:
        {
            oldTouchValue = touchevent.getX();
            break;
        }
        case MotionEvent.ACTION_UP:
        {
            float currentX = touchevent.getX();
            if (oldTouchValue < currentX  && panel.getVisibility() == View.VISIBLE)
            {                   
                panel.clearAnimation();
                panel.startAnimation(mAnimHide);
                panel.setVisibility(View.INVISIBLE);

            }
            if (oldTouchValue > currentX  && panel.getVisibility() == View.INVISIBLE)
            {
                panel.setVisibility(View.VISIBLE);
                panel.startAnimation(mAnimShow);
            }
        break;
        }
    }


    return false;
}

//当我尝试下面的不工作时

public void onClick(View v) {
    switch(v.getId())
    {
    case R.id.onClick:
    }
    if(panel.getVisibility()==View.INVISIBLE)
    {
        panel.setVisibility(View.VISIBLE);
        panel.startAnimation(mAnimShow);
    }
}

当我试图让按钮上的隐藏布局可见时单击 该计划没有回应。我已经尝试过了。

任何人都可以帮助我吗?我们应该如何让行动事件发挥作用?

3 个答案:

答案 0 :(得分:1)

尝试使用id的实际int,而不是R.id.onClick。因此,如果您为该按钮指定了ID为30,请使用case 30: ...

答案 1 :(得分:0)

而不是View.INVISIBLE使用面板类。 例如,如果panel是TextView的实例:

if(panel.getVisibility()==TextView.INVISIBLE)
    {
        panel.setVisibility(TextView.VISIBLE);
        panel.startAnimation(mAnimShow);
    }

答案 2 :(得分:0)

case R.id.title_call_button:
if(llButtonCallNow.getVisibility() != View.VISIBLE){
llButtonCallNow.setVisibility(View.VISIBLE);
}
    else{
    llButtonCallNow.setVisibility(View.GONE);
    }
break;