2011-05-27 82 views
0

我想要做的是將圖像繪製到AutoCompleteTextView小部件中。無法將我的圖像繪製到擴展小部件中

在經過一番研究: http://www.droidnova.com/playing-with-graphics-in-android-part-i,147.htmlhttp://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html

我已經把下面的類在一起......

public class myAutoCompleteTextView extends AutoCompleteTextView 
{ 
    //member variables 
    private Rect mRect; 
    private Paint mPaint; 


    /** 
    * Constructors used by LayoutInflater 
    */ 
    public myAutoCompleteTextView(Context context, AttributeSet attrs, int defStyle) 
    { 
     super(context, attrs, defStyle); 
     mRect = new Rect(); 
     mPaint = new Paint(); 
    } 

    public myAutoCompleteTextView(Context context, AttributeSet attrs) 
    { 
     super(context, attrs); 
     mRect = new Rect(); 
     mPaint = new Paint(); 
    } 

    public myAutoCompleteTextView(Context context) 
    { 
     super(context); 
     mRect = new Rect(); 
     mPaint = new Paint(); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) 
    { 

     Bitmap _scratch = BitmapFactory.decodeResource(getResources(), R.drawable.search); 

     //canvas.drawBitmap(_scratch, 0.0f, 0.0f, mPaint); 
     canvas.drawBitmap(_scratch, 0.0f, 0.0f, null); 

     // Finishes up by calling the parent method 
     super.onDraw(canvas); 

     //this.invalidate(); 
    } 

} 

和XML佈局...

<com.test.customcontrols.myAutoCompleteTextView 
    android:id="@+id/myautocomplete" 
    android:layout_width="200dip" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="20dip" 
    android:gravity="center_horizontal" 
    android:layout_gravity="center_horizontal" 
    android:inputType="textCapWords|textNoSuggestions|textVisiblePassword"/> 

不幸的是,AutoCompleteTextView似乎沒有任何變化。 我該怎麼做才能將我的圖像合併到小部件的通常背景中?

+0

我想你必須覆蓋dispatchDraw() – ingsaurabh 2011-05-27 04:50:25

回答

0

製作自定義組件將採取一些細緻的研究......在此期間,我解決了它:

AutoCompleteTextView mAutoCompleteTextView; 
mAutoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.myautocomplete); 
mAutoCompleteTextView.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(R.drawable.myimage), null, null, null);