2013-06-30 3 views
0

Mon problème est peut-être trivial pour d'autres personnes, mais pour moi, je ne peux pas le faire fonctionner. J'ai la mise en page XML comme suit.Définir ImageView au centre de l'écran

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    > 

    <LinearLayout android:id="@+id/tracker_container" 
     android:layout_width="match_parent" 
     android:layout_height="0dip" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     /> 

    <ImageView 
     android:id="@+id/mainImageView" 
     android:contentDescription="@string/display"   
     android:layout_gravity="center" 
     android:layout_width="400dp" 
     android:layout_height="300dp" 
     android:opacity="translucent" 

     /> 

</LinearLayout> 

Comment puis-je faire le ImageView est au centre de l'écran entier? Merci

Répondre

0

Essayez this--

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLaout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
> 

<RelativeLayout android:id="@+id/tracker_container" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
/> 

<ImageView 
    android:id="@+id/mainImageView" 
    android:contentDescription="@string/display"   
    android:layout_centerInParent="true" 
    android:layout_width="400dp" 
    android:layout_height="300dp" 
    android:opacity="translucent" 

    /> 

</RelativeLayout> 
+0

android: layout_centerInParent = "true" peut être remplacé par android: layout_centerHorizontal = "true" et android: layout_centerVertical = "true" –

0

Vous pouvez utiliser un RelativeLayout comme parent et utiliser layout_centerInParent:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout android:id="@+id/tracker_container" 
     android:layout_width="match_parent" 
     android:layout_height="0dip" 
     android:layout_weight="1" 
     android:orientation="vertical" /> 

    <ImageView 
     android:id="@+id/mainImageView" 
     android:contentDescription="@string/display"   
     android:layout_centerInParent="true" 
     android:layout_width="400dp" 
     android:layout_height="300dp" 
     android:opacity="translucent" /> 

</RelativeLayout> 

Je ne suis pas sûr de ce que LinearLayout est pour, mais j'ai gardé là-dedans. Peut-être que vous le peupler par programme et il pousse votre ImageView vers le bas. RelativeLayout garantit qu'il sera toujours au centre du parent, quels que soient les autres éléments de vue.

+0

LinearLayout est pour ListView. J'ai déjà essayé RelativeLayout auparavant. Le problème est que ImageView est défini au centre de l'écran. Mais ListView n'apparaît pas. – batuman

+0

Veuillez indiquer votre code réel à l'origine du problème. :) –

Questions connexes