2010-11-21 14 views
0

Mein ImageView aus irgendeinem seltsamen Grund zeigt immer ein Bild in der Mitte, links von meinem Bildschirm trotz der XML-Code besteht darauf, dass es in der Mitte sein.Brauchen Sie Hilfe mit einem ImageView immer falsch angezeigt

I Porträt Orientierung in meiner app zwingen und hier ist mein xml-Code für mein Layout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:gravity="center"> 

    <ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/image_view" 
    android:layout_weight="1.0"/> 

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/message" 
    android:gravity="center_horizontal" 
    android:padding="10dip"/> 

    <Button 
      android:layout_gravity="center_horizontal" 
    android:layout_width="fill_parent" 
    android:textStyle="bold" android:id="@+id/action_button" android:selectAllOnFocus="false" android:layout_height="100dip" android:text="Click here to preform actions"/> 
</LinearLayout> 

Also, die Seite sollte in der Mitte als Bild angezeigt werden, um die Breite des Bildschirms erstreckt, wobei der Text das und der Knopf darunter. Aber aus irgendeinem Grund wird das Bild als kleines Kästchen-Thumbnail in der Mitte des Bildschirms angezeigt - irgendwelche Ideen zu einem Workaround?

Antwort

2

Angenommen, Sie möchten Ihr Bild in einem Top-Box hier zentriert, wollen Sie nicht android:scaleType auf dem ImageView selbst setzen wollen. "center" ist der richtige Wert, wenn Sie nicht skalieren möchten; centerInside ist wahrscheinlich angemessen, wenn Sie dies tun (in diesem Fall müssen Sie eine Art von Dimensionen oder Gewicht auf Ihrem ImageView definieren). Weitere Informationen zu scaleType-Werten finden Sie unter the documentation.

Sie möchten auch nicht, dass die Bildhöhe auf fill_parent gesetzt wird, oder es wird das tun (was bedeutet, dass kein Text darunter liegt, da das Bild den gesamten Elternteil LinearLayout ausfüllt und keinen Platz für Text lässt). Sie möchten wahrscheinlich die ImageView Höhe auf wrap_content oder eine bestimmte Höhe (z. B. 100dip) festgelegt.