0

我创建了一个 GridView 项目,该项目由一个带有一些元数据的 ImageView 组成。当我在 Eclipse 中预览定义的布局(图形布局)时,它看起来很棒,但是当我在设备和我的模拟器上测试它时会出现一些古怪的行为。

game_photos_grid_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/game_list_item"
    android:layout_width="95dp"
    android:orientation="vertical"
    android:layout_height="105dp" >

        <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitCenter"
        android:padding="2dp"
        android:src="@drawable/ic_contact_picture" />

    <ImageView
        android:id="@+id/photos_grid_item_image"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitCenter"
        android:padding="2dp"
        android:visibility="gone"
        android:src="@drawable/ic_contact_picture" />

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="right"
        android:padding="2dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp" >

        <ImageView
            android:id="@+id/item_marker"
            android:layout_width="25dp"
            android:layout_height="60dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/x_pointer" />

        <TextView
            android:id="@+id/total_rating"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_alignParentBottom="true"
            android:alpha="1.0"
            android:background="#80000000"
            android:gravity="right"
            android:text="1346"
            android:textColor="#FFFFFF"
            android:textSize="25sp"
            android:textStyle="bold" />
    </RelativeLayout>
</RelativeLayout>

GridView 父级

    <GridView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gridview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#00698C"
    android:gravity="center"
    android:columnWidth="95dp"
    android:horizontalSpacing="3dp"
    android:numColumns="auto_fit"
    android:stretchMode="columnWidth"
    android:verticalSpacing="3dp"
    android:visibility="visible" />

它在 Eclipse 中的外观。

在此处输入图像描述

它在设备/AVD 上的外观。

在此处输入图像描述

是什么导致视图中断/扭曲?

4

1 回答 1

1

使用特定的宽度和高度值Views不是一个好习惯,而是尝试使用match_parentand来限制自己wrap_content,它们几乎足以满足所有需求。使用这些常量将确保您的布局在每台设备上都符合预期。希望这可以帮助。

于 2012-10-26T07:37:15.743 回答