2011-05-02 29 views
3

我寫一個自定義繪製對象,通過位圖文字:Android的自定義繪製對象界定

@Override 
public void draw(Canvas canvas) { 
    canvas.drawBitmap(badge, matrix, null); 
    canvas.drawText(count, size/2, size/2 + (text_size)/2 , p); 
} 

當我用我的繪製在ImageView的,它的罰款。 good

但是,如果我用這與textview(複合繪製)這是alignement是錯誤的。 wrong

我都嘗試setCompoundDrawablesWithIntrinsicBounds和setCompoundDrawables

同樣的結果,我錯過了什麼?

謝謝。

回答

4

我設法得到右對齊(我繪製的是圓/平方米這麼寬==高):

在我Custom_Drawable構造函數:

Custom_Drawable(int size) { 
    this.size = size; 
} 

的onDraw方法:

@Override 
public void draw(Canvas canvas) { 
    // draw here 
    setBounds(0, 0, this.size, this.size); 
} 

設置繪圖時:

b.setCompoundDrawables(new Custom_Drawable(25), null, null, null);