2011-07-02 5 views
0

위젯에서 확장 된 ProgressBar 클래스를 사용하고 싶습니다. 정말 간단한 MyProgressBar를 만들었고 이것을 표준 액티비티 레이아웃에 배치하면 작동합니다. 물론 디자이너의 MyProgressBar 속성에서 "android : attr/progressBarStyleHorizontal"스타일 속성을 설정합니다.사용자 정의 ProgressBar를 만들고 위젯에서 사용하는 방법?

하지만 위젯 레이아웃과 동일하게 배치하면 이클립스의 레이아웃 디자이너에서 잘 볼 수 있지만 위젯은 traget에서 작동하지 않습니다.

공용 클래스 MyProgressBar는 {

public MyProgressBar(Context context) { 
    super(context); 
} 

public MyProgressBar(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public MyProgressBar(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

@Override 
protected synchronized void onDraw(Canvas canvas) { 
    // First draw the regular progress bar, then custom draw our text 
    super.onDraw(canvas); 
} 
의 ProgressBar를 확장 : 전용 "문제 loaing 위젯은"메시지가 MyProgressBar에 대한

소스 코드는 여기에 대상 장치 ....에 .... 대신 위젯 레이아웃을 보여 주었다있다

답변

0

위젯은 맞춤보기를 지원하지 않습니다. 진행 표시 줄의 배경을 변경하는 경우 시스템의 진행 막대를 사용하고 레이아웃 xml에서 드로어 블을 변경할 수 있습니다.

0

App 위젯은 FrameLayout, LinearLayout, RelativeLayout, GridLayout과 같은 레이아웃 클래스를 지원할 수 있습니다.

다음과 같은 위젯 클래스 : AnalogClock, Button, Chronometer, ImageButton, ImageView, ProgressBar, TextView, ViewFlipper, ListView, GridView, StackView, AdapterViewFlipper.

이러한 클래스의 하위 항목은 지원되지 않습니다.

복사 : http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout

관련 문제