2011-02-03 4 views
0

J'essaie de faire un widget qui serait 4x1. Je mis le fournisseur comme suivreDisposition linéaire trop grande pour la taille du widget

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
android:minWidth="294dp" 
android:minHeight="72dp" 
android:updatePeriodMillis="0" 
android:initialLayout="@layout/widgetlayout"></appwidget-provider> 

et la mise en page widget est le suivant

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="320dp" 
android:layout_height="100dp" 
android:background="@drawable/widgetframe"> 
<Button android:id="@+id/butscan" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Click Me" /> 
<Button android:id="@+id/butenable" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="On/Off" 
     android:paddingRight="5dip"/> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:paddingLeft="4dip" 
    android:includeFontPadding="false" 
    android:id="@+id/lblcurrent" 
    android:text="Test"/></LinearLayout> 

Maintenant, quand j'essaye cela sur l'émulateur, je ne reçois que le milieu de la couche indiquée sur l'écran d'accueil . L'image d'arrière-plan est l'image du 4x1 du SDK (320x100).

Que manque-t-il?

Répondre

0

La largeur et la hauteur de votre disposition pour LinearLayout doivent probablement être fill_parent.

Vos boutons n'ont aucune ressource pour les graphiques, mais je suppose que vous attribuez quelque chose comme des drawables ou des bitmaps dans le code, sinon ils risquent de ne pas s'afficher. Je n'ai jamais créé de bouton sans une image, donc je ne sais pas comment cela agirait.

Je suis surpris que votre texte 'Test' n'apparaisse pas, mais il pourrait être affiché en dehors de la taille de votre widget puisque votre fond est plus grand que le widget lui-même. Encore une fois, essayez fill_parent au lieu de 320dp et 100dp (BTW, je n'ai jamais utilisé 'dp' seulement 'sp').

0

Votre TextView prend en charge la présentation en raison de fill_parent.

Vous devriez probablement lui ajouter layout_weight=1, donc il s'adapte uniquement à l'espace disponible.

Questions connexes