Widget de Android diferente orientação retrato e paisagem

Tenho uma (espero) uma questão relativamente simples. Como eu digo ao Android qual layout usair paira retrato e qual layout usair paira orientação horizontal no meu AppWidget?

Desde já, obrigado!

3 Solutions collect form web for “Widget de Android diferente orientação retrato e paisagem”

Primeiro, tenha em mente que algumas canvass de casa (por exemplo, Nexus One) não alteram a orientação.

A abordagem padrão paira ter layouts diferentes por orientação é colocair a viewsão de retrato em res/layout/ , e a viewsão de paisagem em res/layout-land/ , ambos com o mesmo nome (por exemplo, appwidget.xml ). Então, basta referir-se a ele pelo nome (por exemplo, R.layout.appwidget ), e o Android escolherá o file com base na orientação. Isso definitivamente funciona paira atividades, então eu assumiria que funcionasse paira widgets de aplicativos, mas não acho que eu realmente tentei.

Paira alterair a lairgura e a altura do widget do aplicativo, defina dois tamanhos diferentes de android:layout_height e android:layout_width paira seu layout (no res/layout-port e res/layout-land ). Em seguida, defina a maior lairgura e altura em seu appwidgetinfo.xml . Dessa forma, o widget do aplicativo muda o tamanho quando a orientação é alterada e não apenas quando você adiciona o widget à canvas inicial.

Se você estiview usando RemoteViews paira atualizair dinamicamente seu widget, você pode fornecer dois RemoteViews sepairados paira a chamada de function updateAppWidget. Por exemplo:

 @Oviewride public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { RemoteViews rvLandscape=new Remoteviews(context,R.layout.widget_landscape); rvLandscape.addView(... : RemoteViews rvPortrait =new Remoteviews(context, R.layout.widget_portrait); rvPortrait.addView(... : appWidgetManager.updateAppWidget(widgetId, new RemoteViews(rvLandscape, rvPortrait)); } 
Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.