색상을 변경하는 gmail 앱과 비슷한 진행 표시 줄 (중간 진행률 막대)을 만들고 싶습니다. sdk/platforms에서 progress_indeterminate_horizontal.xml을 유지하고 업데이트하여이 작업을 수행 할 수 있습니다. 애니메이션 (다중 컬러 이미지)을 사용하고 싶지 않습니다. 나는 이것을 사용하여 xml (나는 그라데이션을 사용하고 싶다)을 사용하고 싶다. 어떤 도움을 주시면 감사하겠습니다. 사전다중 색상 진행 표시 줄
답변
여기 내 구현의 : 애니메이션 무지개 그라데이션을 그립니다. 멋지다, 내가 그렇게 말하면 나 자신. 이것은 XML 기반이 아니지만, 만들어 질 수 있고 그라디언트를 사용합니다. 아마도 그것은 당신에게 몇 가지 아이디어를 줄 것입니다.
설정 :
pb = (ProgressBar) findViewById(R.id.progressbar_Horizontal);
GradientDrawable rainbow = new GradientDrawable(Orientation.LEFT_RIGHT,
new int[] {Color.RED, Color.MAGENTA, Color.BLUE, Color.CYAN, Color.GREEN, Color.YELLOW, Color.RED});
AnimationDrawable ad = getProgressBarAnimation();
pb.setBackgroundDrawable(ad);
그리고 애니메이션 :
private AnimationDrawable getProgressBarAnimation(){
GradientDrawable rainbow1 = new GradientDrawable(Orientation.LEFT_RIGHT,
new int[] {Color.RED, Color.MAGENTA, Color.BLUE, Color.CYAN, Color.GREEN, Color.YELLOW});
GradientDrawable rainbow2 = new GradientDrawable(Orientation.LEFT_RIGHT,
new int[] { Color.YELLOW, Color.RED, Color.MAGENTA, Color.BLUE, Color.CYAN, Color.GREEN});
GradientDrawable rainbow3 = new GradientDrawable(Orientation.LEFT_RIGHT,
new int[] { Color.GREEN, Color.YELLOW, Color.RED, Color.MAGENTA, Color.BLUE, Color.CYAN });
GradientDrawable rainbow4 = new GradientDrawable(Orientation.LEFT_RIGHT,
new int[] { Color.CYAN, Color.GREEN, Color.YELLOW, Color.RED, Color.MAGENTA, Color.BLUE });
GradientDrawable rainbow5 = new GradientDrawable(Orientation.LEFT_RIGHT,
new int[] { Color.BLUE, Color.CYAN, Color.GREEN, Color.YELLOW, Color.RED, Color.MAGENTA });
GradientDrawable rainbow6 = new GradientDrawable(Orientation.LEFT_RIGHT,
new int[] {Color.MAGENTA, Color.BLUE, Color.CYAN, Color.GREEN, Color.YELLOW, Color.RED });
GradientDrawable[] gds = new GradientDrawable[] {rainbow1, rainbow2, rainbow3, rainbow4, rainbow5, rainbow6};
AnimationDrawable animation = new AnimationDrawable();
for (GradientDrawable gd : gds){
animation.addFrame(gd, 100);
}
animation.setOneShot(false);
return animation;
}
This is what you are looking for.에서
덕분에 프로젝트에서이 라이브러리를 추가하고 당신이 그것을 사용할 수 있습니다.
그런 다음 일반 프로세스 막대로 사용할 수 있습니다. 예 :
private SmoothProgressBar mProgressBar;
에서 OnCreate :
mProgressBar = (SmoothProgressBar) findViewById(R.id.progressbar);
mProgressBar.progressiveStart();
OnPause :
mProgressBar.progressiveStop();
감사를위한 Tushar를 지원하지만 라이브러리를 찾고 있지 않습니다. 접근 방법을 찾고 있습니다. Addin g이 라이브러리는 내가 필요로하는 코드를 무겁게 만들 것입니다. @CommonsWare가 위에서 언급 한 접근법을 사용할 수있었습니다. – CodingRat
저는이 라이브러리를 사용하고 있습니다. 그것은 그렇게 무거운 것이 아닙니다. 그것을 시도하고 직접보십시오. –
이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – Taifun
- 1. 다중 진행 표시 줄
- 2. 진행 표시 줄 문제
- 3. Android의 진행 표시 줄
- 4. 진행 표시 줄 너비
- 5. 진행 표시 줄
- 6. WinForms의 진행 표시 줄
- 7. 진행 표시 줄 무기한
- 8. # backgroundworker가있는 진행 표시 줄
- 9. Tkinter를 진행 표시 줄
- 10. 이미지가있는 진행 표시 줄
- 11. 버튼의 진행 표시 줄
- 12. 자동 진행 표시 줄
- 13. 애니메이션이 진행 표시 줄
- 14. 유연한 진행 표시 줄
- 15. 진행 표시 줄
- 16. 진행 표시 줄 도움말
- 17. 스레드가있는 진행 표시 줄
- 18. android.R.layout.simple_list_item_checked의 진행 표시 줄
- 19. 연속 진행 표시 줄
- 20. 이미지가있는 진행 표시 줄
- 21. 프로세스가있는 진행 표시 줄
- 22. Java로드/진행 표시 줄
- 23. 진행 표시 줄 전경색
- 24. NSURLConnection이있는 진행 표시 줄
- 25. JSP의 진행 표시 줄
- 26. setImageWithURLRequest가있는 진행 표시 줄
- 27. 진행 표시 줄의 색상 변경
- 28. Android 진행률 표시 줄 가로 보조 진행 색상
- 29. 데이터베이스 진행 상황을 보여주는 진행 표시 줄
- 30. JavaScript로 애니메이션 진행 HTML5 진행 표시 줄
이 링크 [포스트]를 읽고 [1] [1] : http://stackoverflow.com/questions/16413633/seekbar-progress-bar-with-multiple-colors – Fortran