BitmapView.java revision d2e1718fa8e1199b03dc0d069711b24e946aa858
1package com.example.bitmapsample; 2 3import android.content.Context; 4import android.util.AttributeSet; 5import android.view.View; 6 7import com.android.bitmap.BitmapCache; 8import com.android.bitmap.drawable.BasicBitmapDrawable; 9 10public class BitmapView extends View { 11 private BasicBitmapDrawable mBitmapDrawable; 12 private float mDensity; 13 14 public BitmapView(Context c) { 15 this(c, null); 16 } 17 18 public BitmapView(Context c, AttributeSet attrs) { 19 super(c, attrs); 20 mDensity = getResources().getDisplayMetrics().density; 21 } 22 23 @Override 24 protected int getSuggestedMinimumHeight() { 25 return (int) (100 * mDensity); 26 } 27 28 @Override 29 protected void onSizeChanged(final int w, final int h, int oldw, int oldh) { 30 mBitmapDrawable.setDecodeDimensions(w, h); 31 } 32 33 public void setImage(String uriString) { 34 if (mBitmapDrawable != null) { 35 mBitmapDrawable.bind(new BitmapRequestKeyImpl(uriString)); 36 } 37 } 38 39 public void initialize(BitmapCache cache) { 40 mBitmapDrawable = new BasicBitmapDrawable(getResources(), cache); 41 setBackground(mBitmapDrawable); 42 } 43 44}