2010-01-10 2 views

Répondre

3

Consultez le app widgets article sur le site des développeurs Android pour obtenir la liste des mises en page et des vues disponibles dans un widget.

0

Cette liste fournie par Christopher est techniquement correcte, mais elle n'est pas tout à fait complète. Bien que ces mises en page et ces vues soient disponibles, plusieurs (la plupart?) Des méthodes de présentation ne peuvent pas être invoquées. Par exemple, si vous essayez de modifier par programme la couleur d'arrière-plan de l'un des widgets pris en charge (TextView), vous recevrez une erreur d'exécution:

WARN/AppWidgetHostView (606): android.widget.RemoteViews $ ActionException: view: android.widget.TextView ne peut pas utiliser de méthode avec RemoteViews: setBackgroundColor (int)

Je n'ai pas encore vu de liste définitive de ce qui est ou n'est pas supporté. La liste android-dev a vu quelques threads (one, two) sur le sujet, mais pas beaucoup plus. Les work-arounds ne sont pas si géniaux.

5

selon la official android API:

Un objet RemoteViews (et, par conséquent, un Widget App) peut prendre en charge les classes de mise en page suivantes:

  • FrameLayout
  • LinearLayout
  • RelativeLayout
  • GridLayout

And the following widget classes:

  • AnalogClock
  • Button
  • Chronometer
  • ImageButton
  • ImageView
  • ProgressBar
  • TextView
  • ViewFlipper
  • ListView
  • GridView
  • StackView
  • AdapterViewFlipper

Descendants of these classes are not supported.

RemoteViews also supports ViewStub, which is an invisible, zero-sized View you can use to lazily inflate layout resources at runtime.

à partir aussi avec android 3.0 les prochaines vues sont prises en charge:

  • ListView - A view that shows items in a vertically scrolling list. For an example, see the Gmail app widget.
  • GridView - A view that shows items in two-dimensional scrolling grid. For an example, see the Bookmarks app widget.
  • StackView - A stacked card view (kind of like a rolodex), where the user can flick the front card up/down to see the previous/next card, respectively. Examples include the YouTube and Books app widgets.
  • AdapterViewFlipper - An adapter-backed simple ViewAnimator that animates between two or more views. Only one child is shown at a time.
Questions connexes