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}