2010-10-03 4 views
0

Je suis nouveau à la programmation Android et j'ai fait beaucoup de recherche pour la réponse à cette question mais je ne trouve pas de réponse. Peut-être que j'utilise les mauvais termes de recherche parce que cela semble être une requête assez simple. A ma conception (par exemple), deux champs de texte seraient définis dans ma disposition relative, suivis d'une image et je voudrais que l'image couvre le reste de l'écran. Voici ce que j'ai jusqu'à présent:Android UI Layout Question

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
android:id="@+id/widget29" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
> 
<ImageView 
android:id="@+id/widget38" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@+id/widget37" 
android:layout_alignParentLeft="true" 
> 
</ImageView> 
<TextView 
android:id="@+id/widget37" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="second view" 
android:layout_below="@+id/widget36" 
android:layout_alignParentLeft="true" 
> 
</TextView> 
<TextView 
android:id="@+id/widget36" 
android:layout_width="fill_parent" 
android:layout_height="50px" 
android:text="first view" 
android:layout_alignParentTop="true" 
android:layout_alignParentLeft="true" 
> 
</TextView> 
</RelativeLayout> 

Comment puis-je dire à mon ImageView pour couvrir remplir le reste de l'écran. Si je définis la hauteur et la largeur comme "fill_parent", il remplit les deux vues de texte. Merci d'avance pour toute aide que vous pouvez fournir.

Jon

Répondre

0

Si c'est RelativeLayout, alors, vous devrez faire quelque chose comme ça dans votre ImageView:

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/id_of_your_second_textview" 
    android:layout_alignParentRight="true"/> 
2

On dirait que vous êtes juste des vues d'empilage ... il me semble que cette situation fonctionnerait beaucoup mieux avec un LinearLayout vertical au lieu d'un RelativeLayout, pour un il serait considérablement plus facile d'obtenir la vue de l'image pour couvrir le reste de l'espace sans chevauchement de vos vues de texte:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
android:id="@+id/widget29" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
xmlns:android="http://schemas.android.com/apk/res/android" 
> 

<TextView 
android:id="@+id/widget36" 
android:layout_width="fill_parent" 
android:layout_height="50px" 
android:text="first view" 
android:layout_weight="0" 
/> 

<TextView 
android:id="@+id/widget37" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="second view" 
android:layout_weight="0" 
/> 

<ImageView 
android:id="@+id/widget38" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:layout_weight="1" 
/> 
</LinearLayout> 

Dans l'exemple ci-dessus, vous utilisez des poids de mise en page pour forcer le partage relatif de l'espace de l'écran. La définition du poids à zéro force le gestionnaire de disposition à ne donner que l'espace requis aux deux vues de texte et puisque la vue d'image est définie pour remplir parent (avec un poids de 1), il reçoit tout l'espace restant