2012-03-02 13 views
1

私はこれに対する答えをEVERYWHEREで検索しました。androidのカスタムDrawable

xmlで作成したカスタムシェイプをビットマップまたはキャンバスに描画する方法を試しています。

これは、長方形のための私の単純なXMLコードです。

<?xml version="1.0" encoding="UTF-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="#f0f000" /> 
    <stroke android:width="3dp" android:color="#ff0000" /> 
    </shape> 

ここで、私は単純にシェイプを取得してビットマップに配置し、そのビットマップをキャンバスに描画しようとしていますか?

myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.shape); 

    canvas.drawBitmap(myBitmap, canvas.getHeight() /2, canvas.getWidth()/2, p); 

誰でも助けていただければ幸いです。

答えて

2

それは描画可能だ...これを試してみてください。

Drawable drawable = getResources().getDrawable(R.drawable.shape); 
drawable.setBounds(0,0, canvas.getWidth(), canvas.getHeight()); 
drawable.draw(canvas); 

NB:明らかにあなたは一度だけではなく、すべてのドローにgetDrawable()ビットを行うことができます()。