2014-04-02 3 views
0

Google지도에 대한 코드를 만들었습니다. 카메라를 배치 한 첫 번째 위치에 메시지를 토스트 한 다음 카메라를 다른 위치로 옮기면 한 곳으로 카메라를 배치하지만 문제는 토스트 액션 메시지를 읽기에 충분한 시간 동안 나타나지 않습니다. 어쨌든 10 초 정도 말할 수있는 토스트를 설정할 수 있습니까? 여기 내 코드가있다.특정 기간 동안 메시지를 토스트하는 방법은 무엇입니까?

  public void onFinish() { 
    LatLng 1= new LatLng(x , y); 
    LatLng 2= new LatLng(x , y);        
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();           
    map.animateCamera(CameraUpdateFactory.zoomTo(10), 30000,null); 

Toast.makeText(getBaseContext(), " I want this message to displayed for 10 seconds.", 
Toast.LENGTH_SHORT) 
.show(); 

CameraPosition cameraPosition3 = new CameraPosition.Builder() 
.target(1)  
.zoom(16)   

.bearing(300)     
.tilt(30)     
.build(); 

    map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition3),30000,new 
    CancelableCallback() 

{ public void onFinish() { 

LatLng 2= new LatLng(x, y); 

GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 
map.animateCamera(CameraUpdateFactory.zoomTo(10), 30000,null); 
Toast.makeText(getBaseContext(), " This message for 10 seconds.", Toast.LENGTH_SHORT)             
    CameraPosition cameraPosition3 = new CameraPosition.Builder() 
.target(2)  
    .zoom(16)   

    .bearing(300)     
    .tilt(30)     
    .build(); 

map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition3),30000,null); 

답변

1

은 이미

final Toast toast = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT); 
         toast.show(); 
         new CountDownTimer(10000, 1000) 
         { 
          public void onTick(long millisUntilFinished) {toast.show();} 
          public void onFinish() {toast.cancel();} 
         }.start(); 

당신은 하위 클래스해야합니다 자세한 내용

http://stackoverflow.com/questions/2220560/can-an-android-toast-be-longer-than-toast-length-long 
+0

답장을 보내 주셔서 감사합니다. – user3449550

+0

올바르지 않습니다. 'int duration' 매개 변수는 실용적인 두 값'LENGTH_SHORT'와'LENGTH_LONG' 만있는 플래그입니다. –

+0

그 중 하나가 작동하지 않습니다. 토스트는 2 초 후에 자동으로 닫힙니다. –

0

문의 해주세요이 질문에서 대답을 얻었다 그것을 시도 당신을 도울 것입니다 반드시이 시도 토스트 클래스와 그것을 사용합니다. 기본 클래스에는 두 개의 값만 있습니다. 더 긴 시간을 보내더라도 SHORT 또는 LONG 중 하나로 되돌아갑니다.

0

그리고 이것은 1000이라는 토스트 메시지가 1 초인 다음 3 번째 위치가 토스트의 타이밍이며 다음을 수행 할 수 있습니다. 10 초 동안 토스트 쇼를 ...

Toast.makeText(getBaseContext(), " This message for 10 seconds.", 10*1000).show(); 
+0

답장을 보내 주셔서 감사합니다. 지금 사용해 보겠습니다. – user3449550

+0

올바르지 않습니다. 'int duration' 매개 변수는 실용적인 두 값'LENGTH_SHORT'와'LENGTH_LONG' 만있는 플래그입니다. –

+0

그래, 이건 나를 위해 작동하지 않았다. – user3449550

관련 문제