GridView项在Eclipse中看起来很好但在设备和模拟器上扭曲

时间:2012-10-26 06:00:00

标签: android android-layout android-gridview

我创建了一个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中的外观。

enter image description here

它在设备/ AVD上的外观。

enter image description here

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

1 个答案:

答案 0 :(得分:1)

使用Views的宽度和高度的特定值不是一个好习惯,而是尝试使用match_parentwrap_content限制自己,它们几乎适合所有需求。使用这些常量将确保您的布局在每个设备上都按预期显示。希望这会有所帮助。