2014-12-02 61 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,你给了我灵感。