2010-12-02 41 views
0

Tout d'abord, ceci est mon premier post ici et je suis heureux de faire partie de stackoverflow, enfin. : DDynamique croissante-largeur AutoCompleteTextView

Je veux construire un AutoComplete-recherche avec un bouton sur la droite de l'AutoCompleteTextView pour soumettre la chaîne d'entrée. Le bouton peut avoir différentes largeurs, cuz de localisation ou textes personnalisés ("chercher", "chercher maintenant", ...). Je veux que AutoCompleteTextView croisse dynamiquement sur le plein avec jusqu'à ce que le bouton de recherche localisée.

Mon approch actuelle est très statique et je dois changer la marginRight en fonction de la largeur du bouton:

<RelativeLayout 
android:id="@+id/layout" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 

<AutoCompleteTextView 
android:id="@+id/searchText" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_marginRight="70dip" 
android:layout_alignParentLeft="true"/> 

<Button 
android:id="@+id/btn" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Search" 
android:layout_alignParentRight="true"/> 

</RelativeLayout> 

Est-il possible dans Android pour trouver une solution dynamique?

Avec nos meilleurs vœux, Jeff

Répondre

0

Eh oui, qui est une solution facile. Vous êtes proche, supprimez simplement la ligne marginRight, échangez le bouton et AutoCompleteTextBox afin que le bouton (l'élément avec une largeur définie) soit défini en premier, puis définissez l'AutoCompleteTextBox aligné toLeftOf l'ID du bouton. Ça fera l'affaire!

<RelativeLayout 
    android:id="@+id/layout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    >  
    <Button 
     android:id="@+id/btn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Search" 
     android:layout_alignParentRight="true" 
     />   
    <AutoCompleteTextView 
     android:id="@+id/searchText" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_toLeftOf="@id/btn" 
     /> 
</RelativeLayout> 
+0

100% de réponse satisfaisante! : D – Jeffo

+0

lol, content de l'entendre! – kcoppock

+0

Pour un crédit supplémentaire, je pense que vous pouvez laisser la ligne 'alignParentLeft', avec le même effet. – kcoppock