2011-11-18 2 views
2

이 코드에 좀 터치 스크린 이벤트를 시도버튼을 사용하여 숨겨진 레이아웃을 표시하는 방법? 여기

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

작동하지 아래를 시도 할 때 단추 누르기 프로그램이 응답하지 않습니다. 나는 충분히 노력했다.

아무도 도와 줄 수 있습니까? 우리는 행사 행사를 어떻게해야합니까?

+1

그냥 팁 .. 표시 여부를 비교하는 대신 panel.isShown()을 사용하십시오. – SERPRO

+0

'if' 블록 안에'Log.d()'를 넣어서 앱이 거기에 도착하는지 확인해보십시오. – Vladimir

+0

반환 할 View.INVISIBLE을 실행하려고 할 때 내 코드에서 Log.()를 사용해 보았습니다. Java Null Point 오류 - – Pradeepraj

답변

0

대신 View.INVISIBLE 패널 클래스를 사용하십시오.

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

VISIBLE 상수는'View'에서 상속되므로 아무것도 바뀌지 않을 것입니다 – Vladimir

+0

표시하고 싶습니다 내 텍스트가 보이지 않는 모드로 표시되는 내 레이아웃 (패널) 보기 .. 내가 도와 줄 수 있니? – Pradeepraj

1

는 아이디,하지 R.id.onClick의 실제 INT를 사용해보십시오 : 패널이 텍스트 뷰의 인스턴스 인 경우, 예를 들어 . 예를 들어, 버튼에 ID 30을 지정하면 case 30: ...

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