sceen上の表示が異なっていますこのため。あなたの質問に答えることができれば幸いです。
https://plus.google.com/112740367348600290235/posts/VNAfFLDcKrw
ImageView
画像を指定する4つのAPIを有します。どちらを使うの?違いはなんですか?
- setImageDrawable(描画領域描画可能)
- setImageBitmap(ビットマップBM)
- setImageResource(INT残油)
- setImageURI(URI URI)
ImageView
、名前によって、するために使用され画像を表示する。しかし、イメージとは何ですか? A Bitmap
は画像であり、わかりにくいわけではありません。そのためにsetImageBitmap
を使用しています。ただし、内部では、ImageView
は-Drawable
ですが、Bitmap
はありません。それはsetImageDrawable
です。 setImageBitmap
を呼び出すと、内部的に最初にビットマップがBitmapDrawable
(これはIS-A Drawable
)にラップされ、その後setImageDrawable
にコールされます。
ここにコードがあります。
public void setImageBitmap(Bitmap bm) {
setImageDrawable(new BitmapDrawable(mContext.getResources(), bm));
}
3 APIと4 APIについてはどうですか?ウリから、またはリソースファイルから、入力ストリームから、ファイルパスから:
あなたは既にビットマップを作成する方法の束があるということを知っている必要があります。このことを認識して
BitmapFactory.decodeFile(String pathName)
BitmapFactory.decodeStream(Inputstream)
BitmapFactory.decodeResource(Resource res, int id)
BitmapFactory.decodeByteArray(byte[] data)
は、setImageResource
/setImageUri
がsetImageBitmap
としてちょうど同じであることを理解しやすいです。
まとめると、setImageDrawable
は、他のAPIが依存する基本関数です。他の3つはちょうどあなたがコードを書くのを助けるヘルパーメソッドです。また
、必ずしもBitmapDrawable
すべき、ImageView
が実際に持っている、というDrawable
を心に留めておくことが非常に重要です!任意のDrawable
を画像ビューに設定することができます。
Java APIを使用してDrawable
を設定する以外にも、XML属性を使用してをImageView
に設定することもできます。以下の例を参照してください。シェイプはイメージファイル(.png、.jpg、.bmp)またはxmlファイルのいずれかになります。
私はAndroidのソースを見ているため、これらの具体的な二つの例 –