2

画面に小さな画像を表示しようとしています。小さな四角にしたいです。以下のコードでは、長く平らな長方形として表示されます。下の写真を添付し​​ました。

Javaコード

ImageView q1Image = (ImageView)findViewById(R.id.q1Image);
q1Image.setScaleType(ScaleType.FIT_XY);

xmlコード

<TableRow
    android:id="@+id/row4"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <ImageView
        android:id="@+id/q1Image"
        android:layout_width="10dp"
        android:layout_height="10dp"
        android:layout_weight=".1"
        android:textSize="8sp"
        android:gravity="center_horizontal" />

テスト

編集 幅と高さをそれぞれに等しくすると50dp、画像は大きくなりますが、それでも平らに見える長方形です。

4

3 に答える 3

17

画像の拡大縮小が間違っています。すべてのスケールタイプは次のとおりです。

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

上段(lr)center、centerCrop、centerInside。

下の行(lr):fitCenter、fitStart、fitEnd、fitXY。

あなたはおそらく必要ですfitCenter

q1Image.setScaleType(ScaleType.FIT_CENTER);
于 2013-01-11T19:11:34.550 に答える
4

FIT_XYは、すべてのYouTubeImageViewに合うように画像を拡大します。ImageViewの場合、画像を中央に配置してアスペクト比を維持するには、スケールタイプfitCenterを使用します

q1Image.setScaleType(ScaleType.FIT_CENTER);

その他のオプションについては、 http://developer.android.com/reference/android/widget/ImageView.ScaleType.htmlを参照してください。

于 2013-01-11T19:12:37.473 に答える
1

フルレイアウトXMLがない場合、これは単なる推測ですが、スケールタイプを変更しても問題が修正されていないように見えるため、他のいくつかの提案があります。

  1. layout_weightImageViewがゼロだったらもっといいのではないでしょうか?

  2. で指定android:stretchColumnsしていTableLayoutますか?

  3. 下のテキストの幅に合わせて画像が引き伸ばされているように見えます。テーブルにはいくつの列がありますか?他の行のテキストは列0にあり(最初の行の画像と同様)、最初の行のテキストは列1にあるようです。他の行の列0を空白のままにする場合は、次のようにします。android:layout_columnテキストビューで指定します。

于 2013-01-11T23:53:57.637 に答える