在自定义视图设置背景图片(Setting background image in a custom

2019-10-16 21:29发布

我创建了扩展视图类的类。

public class SplashScreen extends View

我通过设置内容查看使用它

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);}

Answer 1:

如果你想只设置背景,你可以做

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


Answer 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); 


Answer 3:

你不只是想改变SplachScreen类型activity ? 随后setContentView改变无论你的layout是,如果你想要那个splach屏幕应用程序之前出现,使其首先在Manifestsplashscreen结束,破坏activity和启动应用程序菜单中的活动。 然后,你将不再需要查看类和工作发现更小,其中的问题



文章来源: Setting background image in a custom view