2011-01-24 3 views
9

XML없이 수평 progessBar를 만드는 방법 또는 XML contentView없이 XML 속성을 선언하는 방법?Android - 프로그래밍 방식으로보기 progressBar를 생성하는 중

.java 파일에 레이아웃이 있는데 progressBar를 가로로 설정하고 폭/위치를 설정하고 싶습니다.

RelativeLayout fv = new RelativeLayout(this); 
panel = new Panel(this); 
fv.addView(panel); 
ProgressBar pb = new ProgressBar(this); 
//pb.? - progress bar parameters 
fv.addView(pb); 
setContentView(fv); 

아, 팝업 창이 될 수 없습니다. 내가 생성자에서 .. 터치 지원 캔버스 층의 상부에

+0

모든 운이 작업을하기 수 있는가? – hopia

+0

@hopia yea, 그러나 나는 그것을 거의 기억하지 못한다. 이런 식으로 했나 : RelativeLayout rl = new RelativeLayout (this); \t \t setContentView (rl); \t \t 패널 = 새 패널 (this, content, W, H); \t \t panel.requestFocus(); \t \t rl.addView (패널); \t \t pb = new ProgressBar (this, null, android.R.attr.progressBarStyleHorizontal); \t \t pb.setLayoutParams (새 LayoutParams (sWidth, 10)); \t \t rl.addView (pb); \t \t setContentView (rl); – yosh

답변

22

을 ProgressBar를 필요 이렇게 :

ProgressBar pb = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); 

당신은 일반적으로 어쨌든 안드로이드의 AttributSets 중 하나를 필요, 속성 세트로 널을 대체 할 수 있습니다. 그런 다음 표준보기 방법을 사용하여 너비/위치를 설정할 수 있습니다. 당신은 다음과 같은 이것에 대한 LevelListDrawable을 사용할 수 있습니다

+2

이러한 속성을 얼마나 정확하게 추가 할 수 있습니까? 이 코드는 좋지만 가로 스크롤 막대를 제공하지만 생성자에서 설정된 xml 특성으로 style.xml의 특정 스타일을 추가하려고 할 때 crit 오류가 발생합니다 (작업이 끝났습니다. – yosh

1

:

LevelListDrawable mLevels; 
mLevels = (LevelListDrawable)getContext().getResources().getDrawable(R.drawable.stat_levels); 

stat_levels는 것은 다음과 같은 포함 드로어 블의 XML 파일입니다;

<?xml version="1.0" encoding="utf-8"?> 
<level-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:maxLevel="0" android:drawable="@drawable/stat_0" /> 
<item android:maxLevel="10" android:drawable="@drawable/stat_10" /> 
<item android:maxLevel="20" android:drawable="@:drawable/stat_20" /> 
<item android:maxLevel="40" android:drawable="@drawable/stat_40" /> 
<item android:maxLevel="60" android:drawable="@drawable/stat_60" /> 
<item android:maxLevel="80" android:drawable="@drawable/stat_80" /> 
<item android:maxLevel="100" android:drawable="@:drawable/stat_100" /> 
</level-list> 

stat_0 - stat_100은 다양한 레벨의 드로어 블입니다.

는 당신의 필요 기지에 레벨을 설정하는 데 사용할 수 있습니다 mLevels.setLevel(mLevel);

mLevel이 maxlevel이다는 즉 0, 10, 20, 40, 60, 80, 100

관련 문제