2014-10-16 10 views

답변

0

AFAICT는 사용자가 (잠금 또는 홈) 화면에 위젯을 배치 할 때까지 앱이 위젯의 ​​크기를 결정할 수 없습니다. 그렇다면 OS는 크기를 반환합니다 [왜?] 물론 사용자는 위젯의 크기를 조정할 수 있습니다.

예. 의 AppWidgetProvider의 onUpdate() 방법이 디버그 코드를 추가

Bundle newOptions = appWidgetManager.getAppWidgetOptions(appWidgetIds[0]); 
    int minWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH); 
    int minHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT); 
    int maxWidth = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH); 
    int maxHeight = newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT); 
    Log.i("getAppWidgetOptions", String.format(
      "getAppWidgetOptions %d x %d .. %d x %d", 
      minWidth, minHeight, maxWidth, maxHeight)); 

넥서스 4 에뮬레이터, 새로 배치 홈 화면 위젯 보고서에서 실행 : 240 x 58 .. 302 x 84를 DP 단위. 그 위젯이 onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions)를 재정 의하여 크기를 조정할 때

android:minWidth="180dp" 
android:minHeight="40dp" 
android:minResizeWidth="180dp" 
android:minResizeHeight="40dp" 

의 AppWidgetProvider가 감지 할 수 있습니다 :이 설정 <appwidget-provider> XML로입니다. 위의 코드와 유사하지만 [getAppWidgetOptions() 호출을 생략하면] 240 x 58 .. 302 x 84과 (위젯을 수동으로 늘린 후에) 328 x 58 .. 408 x 84과 같은 범위를 기록합니다.

위와 같은 최소/최대 크기 값이 변경되는지 확실하지 않지만 잠금 화면에서도 잠금 키패드의 화면 공간을 사용자가 끌어다 놓을 수 있습니다.

+0

예. 네가 옳은 것 같아. lockscreen의 widget 영역의 크기를 얻는 방법은 없습니다. –