在此代码中,我尝试了一些触摸屏事件
@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);
}
}
当我试图让按钮上的隐藏布局可见时单击 该计划没有回应。我已经尝试过了。
任何人都可以帮助我吗?我们应该如何让行动事件发挥作用?
答案 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;