0

何らかの奇妙な理由で、私の ImageView は、xml コードが中央にあると主張しているにもかかわらず、画面の左側の中央に常に画像を表示しています。

アプリで縦向きを強制します。これがレイアウトの xml コードです。

<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>

したがって、ページは中央にピクチャとして表示され、画面の幅、その下のテキスト、およびその下のボタンが拡張されます。しかし、何らかの理由で、画像が画面の左中央に小さなボックス サムネイルとして表示されます。回避策はありますか?

4

1 に答える 1

2

ここのトップボックスの中央に画像を配置したい場合は、必要ありませんandroid:gravity="center"。実際には、それ自体android:scaleTypeに設定するだけですImageViewcenterスケーリングが必要ない場合は、「 」が適切な値です。centerInsideその場合はおそらく適切です(この場合、に何らかの寸法または重量を定義する必要がありますImageView)。scaleType値の詳細については、ドキュメントを参照してください。

また、画像の高さをfill_parentに設定しないでください。そうしないと、そのようになります(つまり、画像が親全体LinearLayoutに表示され、テキストの余地がなくなるため、その下にテキストが表示されなくなります)。おそらく、ImageViewの高さをまたは一定の高さに設定する必要がありますwrap_content(例100dip)。

于 2010-11-21T22:54:18.533 に答える