2

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

3 に答える 3

5

背景を設定したいだけなら、

public SplashScreen(Context context, AttributeSet attrs) {
    super(context, attrs);
    setBackgroundResource(R.drawable.background);
}
于 2012-06-20T09:04:52.093 に答える
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); 
于 2012-06-20T08:46:58.147 に答える
0

SplachScreenタイプをに変更したいだけではありませんactivityか?次にsetContentView、自分のものに変更しlayout、アプリケーションの前にそのスプラッシュ画面を表示する場合は、最初にManifestそれを最後に作成し、アプリケーションメニューアクティビティをsplashscreen破棄して開始します。activityそうすれば、Viewクラスが不要になり、問題のある場所を見つける作業が減ります。

于 2012-06-20T08:57:45.043 に答える