在自定义视图中设置背景图像

时间:2012-06-20 08:42:01

标签: android view background-image

我创建了一个扩展View类的类。

public class SplashScreen extends View

我通过设置contentview

来使用它
View splash = new SplashScreen(this);
setContentView(splash);

我需要设置背景图片,但我不能使用布局。我想我需要做画布画,但我不知道该怎么做。

protected void onDraw(Canvas canvas) {
  ballBounds.set(ballX-ballRadius, ballY-ballRadius, ballX+ballRadius, ballY+ballRadius);
  paint.setColor(Color.LTGRAY);
  // canvas.drawImage(R.drawable.background_image); (Ps: I know there is no function such as drawImage)"
  canvas.drawOval(ballBounds, paint);}

3 个答案:

答案 0 :(得分:3)

如果您只想设置背景,可以

public SplashScreen(Context context, AttributeSet attrs) {
    super(context, attrs);
    setBackgroundResource(R.drawable.background);
}

答案 1 :(得分:2)

您可以在画布上添加图片:

        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);  
        Matrix matrix=new Matrix();
        matrix.postScale(0.8f, 0.8f);
        matrix.postRotate(45);
        Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),
        bmp.getHeight(),matrix,true);
        canvas.drawColor(Color.BLACK); 
        canvas.drawBitmap(dstbmp, 10, 10, null); 

答案 2 :(得分:0)

您是否只想将SplachScreen类型更改为activity?然后setContentView更改为layout的任何内容,如果您希望在应用程序之前显示该splach屏幕,请先在Manifestsplashscreen结束时将其设为{{1}并启动您的应用程序菜单活动。那么你不需要View类,也不需要找到问题所在的工作