2009-04-01 3 views

답변

23

SDK의 ApiDemos에 설명되어 있습니다. 원하는 예제의 이름은 ProgressBar3.java이고 \ ApiDemos \ src \ com \ example \ android \ apis \ view \

또한 경계를 제거하여 진행률 표시 줄 만 나타나면 대화 상자 자체를 투명보기/오버레이로 정의 할 수 있습니다 (예제에서도 마찬가지 임).

3

@reflog : 그건 내가 추측 할 때 필요한 것이 아닙니다.

@lostInTransit :

다음과 같이이 달성하는 올바른 방법 :

  1. 을 대화
  2. 설정 대화 상자 창 배경에 UR 자신의 대화
  3. 넣어 진행률 표시 줄로만보기 만들기 투명
  4. 대화 상자를 표시하십시오.

그게 전부입니다. 그것은 1.5 ~ 2.1 장치에서 나를 위해 작동합니다. 2.2에서 시도하지 않았습니다.

-Yogesh

22

대화 상자가 필요없는 경우 다른보기 항목과 마찬가지로 progressBar를 레이아웃에 배치하고 기본적으로 표시 여부를 'INVISIBLE'또는 'GONE'으로 설정하십시오.

코드에서 setVisibility를 사용하여 'VISIBLE'로 변경하고 필요할 때마다 'INVISIBLE'또는 'GONE'으로 다시 작업을 숨긴다.

예컨대

MyTask { 

// get handle on ProgressBar ViewItem defined in XML (id:progressBar) 

ProgressBar progressBar = findViewById(R.id.progressBar); 


//starting task, show progress bar 

progressBar.setVisibility(View.VISIBLE); 


// Do some stuff... 


//task done, hide it again 

progressBar.setVisibility(View.GONE); 

} 

이것은 간단한 버전, 모든 UI 스레드에서 수행이다, 그러나 이것은 비동기 작업 또는 스레드 핸들러를 사용하는 경우 쉽게 적응할 수 있어야합니다. UI 스레드에서 대화 상자에 대한 모든 업데이트를 표시, 숨기기 및 게시하고 백그라운드에서 장기 실행 작업을 수행하십시오.

+0

이 작품은 저에게 감사합니다. = D 'imgname = (ImageView) v.findViewById (getResources(). getIdentifier ("idimage", "id", mContext.getPackageName())); – Florida

2

@ Jesse Finnerty의 대답으로 내 문제가 해결되었습니다. 내가 무슨 짓을했는지 이었다 : 단지 다른 버튼과 내가 한 textviews 같은

private ProgressBar mprogressBar; 

내부에서 OnCreate(), mprogressBar = (ProgressBar의) findViewById를 (R.id.진행 표시 줄);

그런 점에서 내가 회전하려는 휠

난 내가 뭔가를 사라지게 할 시점에서 명령

mprogressBar.setVisibility(View.VISIBLE); 

을주는 표시합니다.

mprogressBar.setVisibility(View.INVISIBLE); 

이것은 실제로 전환되지 않습니다. 그래서 내 프로그램의 상태가 바뀌면서 진행 막대가 나타나고 사라집니다.

관련 문제