0

私はAndroid2.3.6と2.3.1に取り組んでいます。

Galleryギャラリーアイテムの側面の画像が表示されないという望ましくない動作があります。

マイギャラリーは利用可能なすべてのスペースを占有し、ImageViewとを含むレイアウトTextViewはに設定されてWRAP_CONTENTいますが、それでもすべての画面を占有しているため、サイドアイテムは境界を超えています...

これがギャラリーのxmlです

<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
    a:layout_width="match_parent"
    a:layout_height="match_parent"
    a:layout_margin="0dp"
    a:padding="0dp">

    <ImageView
        a:id="@+imagePopup/selected"
        a:layout_width="60dp"
        a:layout_height="35dp"
        a:layout_alignParentLeft="true"
        a:layout_alignParentTop="true"
        a:src="@drawable/ic_cancel"
        a:contentDescription="@string/lng" />
    <TextView
        a:id="@+imagePopup/title"
        a:layout_alignParentTop="true"
        a:layout_toRightOf="@+imagePopup/selected"
        a:layout_alignWithParentIfMissing="true"
        a:layout_width="match_parent"
        a:layout_height="35dp"
        a:background="@drawable/rounded"
        a:text="dynamic text"
        a:textSize="23dp"
        a:textColor="#ffffffff"
        a:gravity="center"
        style="@style/trad"/>
    <Gallery
        a:id="@+imagePopup/gallery"
        a:layout_width="match_parent"
        a:layout_height="match_parent"
        a:layout_below="@+imagePopup/title"
        a:layout_alignWithParentIfMissing="true"
        a:background="#ff000000"/>
</RelativeLayout>

およびそのコンテンツxml

<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    a:layout_width="wrap_content"
    a:layout_height="wrap_content"
    a:background="#ffff55ee">

    <ImageView
        a:id="@+imageContent/imageView"
        a:layout_width="wrap_content"
        a:layout_height="wrap_content"
        a:layout_alignParentTop="true"
        a:padding="0dp"
        a:layout_margin="0dp"
        a:src="@drawable/ic_cancel" />

    <TextView
        a:id="@+imageContent/textOver"
        a:layout_width="wrap_content"
        a:layout_height="wrap_content"
        a:layout_alignParentTop="true"
        a:layout_centerHorizontal="true"
        a:layout_marginTop="4dp"
        a:shadowColor="#FF000000"
        a:shadowRadius="4"
        a:textColor="#ffffffff"
        a:textSize="16dp"
        a:textStyle="bold" />

</RelativeLayout>

画像コンテナの背景(RelativeLayout)に醜い背景色を付けて、その動作を示します。

ギャラリーディスプレイ

誰かが私がここで間違っていることを教えてもらえますか...私はそれを取り除くことができません。

よろしくお願いします^^

4

2 に答える 2

1

最後に、これを行うためのはるかに優れた方法を見つけました。必要に応じて、より「自然」です。コードの変更部分は次のとおりです。

<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    a:layout_width="wrap_content"
    a:layout_height="match_parent"
    tools:ignore="ContentDescription">

    <ImageView
        a:id="@+imageContent/imageView"
        a:layout_width="wrap_content"
        a:layout_height="match_parent"
        a:layout_alignParentTop="true"
        a:scaleType="fitXY"
        a:adjustViewBounds="true"
        a:src="@drawable/ic_cancel" />

scaleType="fitXY"この質問adjustViewBounds="true"のおかげであっという間にできました

于 2012-08-03T09:45:38.640 に答える
1

問題はあなたの画像にあると思います。画面全体を覆う可能性が高い巨大な画像を表示しようとしています。

画像には、あらかじめ定義された幅と高さの属性をいくつか指定する必要があります。

以下のように提供したwrap_contentの代わりに、

  <ImageView
        a:id="@+imageContent/imageView"
        a:layout_width="wrap_content"
        a:layout_height="wrap_content"
        a:layout_alignParentTop="true"
        a:padding="0dp"
        a:layout_margin="0dp"
        a:src="@drawable/ic_cancel" />

このようなものを提供してみてください。

  <ImageView
    a:id="@+imageContent/imageView"
    a:layout_width="150dip"
    a:layout_height="150dip"
    a:layout_alignParentTop="true"
    a:padding="0dp"
    a:layout_margin="0dp"
    a:src="@drawable/ic_cancel" />

注:ここで指定したレイアウトの幅と高さは想像上のものです。自分で用意する必要があります。

また、wrap_content、fill_parent、および実際のハードコードされた幅と高さの違いを知っておく必要があります。

  1. Wrap_cotent - 実際の画像の幅と高さを使用することを意味します。

  2. fill_parent - 画像のサイズがどうであれ、画面全体を占めます。

  3. 独自の手段で高さと幅を指定します。特定の幅と高さの属性を指定することで、イメージのサイズがどのようなものであっても均一に表示されます。

于 2012-08-03T07:24:58.607 に答える