2014-12-02 63 views
0

我試圖在Android中使用下一個代碼插入帶有畫布的簡單圖像,但是當我嘗試在智能手機中執行時,只會顯示沒有圖像的白色屏幕。如何用畫布插入圖像?

import android.support.v7.app.ActionBarActivity; 
import android.content.Context; 
import android.content.res.Resources; 
import android.graphics.Canvas; 
import android.graphics.drawable.Drawable; 
import android.os.Bundle; 
import android.view.View; 

public class MainActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     //setContentView(R.layout.activity_main); 
    } 

} 

class Lienzo extends View { 
    private Drawable theimage; 

    public Lienzo(Context context) { 
     super(context); 
     Resources res = context.getResources(); 
     theimage = res.getDrawable(R.drawable.ic_launcher); 
     theimage.setBounds(30, 30, 200, 200); 
    } 

    protected void onDraw(Canvas canvas) { 
     theimage.draw(canvas); 
    } 
} 

我確信這是一個愚蠢的,但是,在代碼中出了什麼問題? 這個想法很簡單,在畫布上插入一個圖像。

+0

你有代碼把你的Lienzo視圖放到你的活動中嗎?因爲您的活動中沒有任何關於您提供的代碼的信息,setContentView會被評論。 – 2014-12-02 13:33:19

回答

0

我找到了答案: 我添加了一個視圖(Lienzo)到佈局。 在this spanish web找到答案。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    RelativeLayout layout1 = (RelativeLayout) findViewById(R.id.layout1); 
    Lienzo image = new Lienzo(this); 
    layout1.addView(image);  
} 

謝謝Xavier Falempin,你給了我靈感。