2013-04-02 6 views
0

enter image description here J'ai un RelativeLayout et j'ai des TextViews & ImageViews à l'intérieur. J'ai une image définie comme arrière-plan pour le RelativeLayout dont la hauteur est supérieure à la hauteur totale des vues enfants. Donc, il laisse un espace vide à part des vues enfant en bas. Alors, comment puis-je éviter cet espace vide? Je veux dire, est-il possible de rendre la hauteur de mise en page exactement égale à la hauteur totale des vues enfant sans tenir compte de la hauteur de l'image de fond de la mise en page?

Ex:Problème de hauteur de mise en page Android

<RelativeLayout android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:background="@drawable/bg_image"> 
    <TextView /> 
    <ImageView /> 
</RelativeLayout/> 

Ici, la hauteur de 'bg_image' est plus que la hauteur totale de TextView & ImageView. Ainsi, il laisse un espace vide après TextView & ImageView

+1

Donnez-nous du code. –

+0

Ajouter le contenu xml qu'avez-vous fait ..et ce que vous devez faire !! – Janmejoy

+0

Edité dans la question ... – Manjunath

Répondre

0

Je crois que le problème est que le RelativeLayout calcule sa hauteur à partir de son image de fond. Essayez de définir une image 9-patch à la place. Il va ensuite s'étirer autant que nécessaire pour remplir la mise en page, qui devrait avoir android:layout_height="wrap_content"

+0

Oui, semble que 9-patch est la solution ... Mais, Je suis inquiet pour le dégradé. L'image d'arrière-plan a un gradient variable. – Manjunath

+0

Il est possible de créer un patch 9 avec un dégradé. Recherche le. Je ne garde pas ces ressources et ne peux pas juste regarder et vous dire comment c'est fait :( – stan0

+0

OK mec ... Merci :) – Manjunath

0

Vous pouvez essayer avec l'option fill_parent .. Je ne sais pas combien de commandes sont là dans votre XML .. Mise en page Mais peut-être fill_parent vous aidera ..

+0

J'ai essayé mais 'fill_parent' ne pouvait pas fonctionner pour moi. – Manjunath

+0

Oui maintenant à partir de l'image son clair .. Vous pouvez définir l'image comme parent de remplissage et attribuer un poids à textview et imageview .. Par exemple, ' ' – Seema

+0

Mais, les vues enfant (TextView & ImageView) devraient prendre leur hauteur normale. à la place, RelativeLayout devrait réduire en fonction de la hauteur des vues enfants. – Manjunath

0

Essayez le code suivant

<RelativeLayout android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:background="@drawable/bg_image"> 
    <TextView /> 
    <ImageView /> 
</RelativeLayout/>