AppWidget에서 처음부터 ProgressBar 를 보이게 하면 잘 뜬다.
하지만 누가 ProgressBar를 처음부터 끝까지 띄우는 사람이 있을까...
그래서 처음에는 ProgressBar를 숨기고 필요에 따라 보이게 하려고 했으나 위젯오류라는 경고창이 떠버린다.
한참을 구글링 하다가 못찾고 무슨 방법이 있겠지 하고 테스트에 테스트를 반복하던차에
결국 성공했다...
중요한 포인트 2가지가 있는데
1. Layout에서 ProgressBar를 한번 감싸줘한 한다는것
2. android:visibility="gone"으로 설정해야하는 것이다.
자 이제 소스를 보면
res/layout/appwidget_layout.xml
<LinearLayout android:id="@+id/itemListBoxLL" android:layout_width="fill_parent" android:layout_height="156px" android:orientation="vertical"> <LinearLayout android:id="@+id/progressBarLL" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:visibility="gone"> <ProgressBar android:id="@+id/progress_bar" android:indeterminate="true" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout> |
src/com/tystory/eraserdev/ProgressBarTest.java
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.appwidget_layout); remoteView.setViewVisibility(R.id.progressBarLL, View.VISIBLE); appwidgetmanager.updateAppWidget(appWidgetId, remoteView); |
6시간 삽질 끝에 해결.
'Language > Android' 카테고리의 다른 글
Layout Include 하기 (0) | 2010.07.02 |
---|---|
안드로이드 어플 배포를 위한 Sign 방법 (0) | 2010.07.02 |
키보드 이벤트 (0) | 2010.06.28 |
공통 레이아웃(Layout) Include 처럼 사용 하기 (1) | 2010.06.25 |
알람 AlramManager (0) | 2010.06.21 |