1

に画像のリストを表示しようとしてGridViewいますが、このリストの画像の中央のみをトリミングしたいと思います。以下は、各画像アイテムのレイアウトです。

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/place_image"
        android:src="@drawable/ic_res"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:scaleType="centerCrop"/>

そして、これがグリッドビューを含むレイアウトです:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout android:id="@+id/upload_view"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:background="#f6f6f6"
                  android:padding="10dp"
                  android:visibility="gone">
        <LinearLayout android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:orientation="horizontal">
            <ImageButton android:id="@+id/photo_select"
                    android:layout_width="50dp"
                    android:layout_height="40dp"
                    android:scaleType="fitXY"
                    android:src="@drawable/ic_photo"/>
            <EditText android:id="@+id/photo_caption"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:hint="@string/caption"
                      android:inputType="textMultiLine"/>
        </LinearLayout>
        <TextView  android:id="@+id/photo_path"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:text="" />

        <Button android:id="@+id/photo_upload"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/upload_photo"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:layout_gravity="right"/>
    </LinearLayout>
    <TextView android:id="@+id/no_photos"
              android:layout_height="wrap_content"
              android:layout_width="match_parent"
              android:gravity="center"
              android:textStyle="bold"
              android:textSize="20dp"
              android:text="@string/no_photos"
              android:visibility="gone" />
    <GridView android:id="@+id/grid_photos"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="20dp"
            android:columnWidth="120dp"
            android:numColumns="auto_fit"
            android:verticalSpacing="10dp"
            android:horizontalSpacing="10dp"
            android:stretchMode="columnWidth"
            android:gravity="center" />
</LinearLayout>

そして、これが私が得た結果です:

ここに画像の説明を入力してください

画像はすべてそのような奇妙な方法でトリミングされているため、これは奇妙です。以下は私の元の画像の1つです。

ここに画像の説明を入力してください

私はこの問題に遭遇したことがないので、これに精通している人がいれば、この理由を見つけるのを手伝ってください。ありがとうございました!

追伸:これはxmlレイアウトの問題にすぎないと思うので、ここにAndroidのソースコードを含める必要はないと思います。ただし、実際に問題が発生している場合は、問題の原因を教えてください。この質問をコードで編集します。

4

1 に答える 1

3

その理由はGridView、タイルに設定されているすべてのレイアウトパラメータをクリアし、独自のレイアウトパラメータを設定しているため、ImageView内部にを追加する方が適切ですRelativeLayout。これは、AdapterViewListViewGalleryなどのすべてと同じです。

于 2013-03-26T14:03:04.640 に答える