8

私は持っています

<LinearLayout android:id="@+id/LinearLayout01"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:orientation="horizontal">
    <ImageView android:layout_height="wrap_content"
        android:layout_width="wrap_content" android:id="@+id/ImageView01"
        android:src="@drawable/phone80"></ImageView>
    <ImageView android:id="@+id/ImageView02"
        android:layout_height="wrap_content" android:src="@drawable/underline"
        android:layout_width="fill_parent" android:layout_gravity="fill_vertical|fill_horizontal"></ImageView>
</LinearLayout>

最初の画像は固定サイズの画像であり、まったく拡大縮小されるべきではありません。その右側の画像は、最大スペースまで水平方向に拡大縮小する必要があります。ソースは有効な.9.pngファイルを指しています。残念ながら、常に元のサイズでしか表示されません。どのプロパティを設定する必要がありますか?ImageViewは正しいオブジェクトですか?

ありがとう、A。

4

4 に答える 4

55

に追加android:scaleType="fitXY"するだけImageViewです。たとえば、myimage.9.pngの場合:

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/myimage"
    android:scaleType="fitXY" />
于 2012-08-17T12:19:49.083 に答える
22

android:background代わりに使用してください。また、アンダースコアだけの場合は、を使用できますが、を使用することはできViewませんImageView。画面の残りの部分を埋める場合は、TableLayout代わりに使用することをお勧めします。

また、9パッチが正しいことを確認してください。1pxの辺は黒である必要があります。#000

于 2011-03-09T08:03:13.420 に答える
1

また、側面の縮尺線が画像の隅まで伸びていないことを確認してください。そこに黒いピクセルがあることは実際には意味がないことはわかっていましたが、Androidはそれらを無視すると思いましたが、実際にはスケーリングが機能しません。また、出力ウィンドウに「エラー:9パッチイメージxxx.9.png不正な形式」というメッセージが表示されますが、これに気付いていない可能性があります。隅のピクセルを取り出すとすぐに、それは私のために働き始めました。

于 2013-10-30T18:08:38.860 に答える
0

setImageBitmapまたはsetImageBackgroundの代わりにsetImageResource(9patchResourceID)を使用してみてください。これで、機能します:)

于 2015-10-16T07:36:01.050 に答える