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设置在其ImageView本身上。center如果您不想缩放,“ ”是正确的值;centerInside如果你这样做可能是合适的(在这种情况下,你需要在你的ImageView. 有关 scaleType 值的更多信息,请参阅文档

您也不希望将图像高度设置为 fill_parent,否则它会这样做(这意味着它下面没有文本,因为图像填充了整个父级LinearLayout,没有留下文本空间)。您可能希望将ImageView' 高度设置为wrap_content或某个固定高度(例如100dip)。

于 2010-11-21T22:54:18.533 回答