2016-12-30 24 views
0

私はこのDrawAnim.javaクラスファイルを持っていて、その内容を私のMainAcitivtyの中で使いたいと思っています。私はこのようなオブジェクトを作成してみました:アクティビティでカスタムクラスを呼び出すにはどうすればよいですか?

DrawAnim draw; 

そしてonCreate方法で、私はこれをしなかった:

draw.onDraw(); <- I know I have to pass a parameter but don't know what to pass on.  

ここに私のクラスです:

public class DrawAnim extends View { 

    Bitmap ball; 
    int x, y; 

    public DrawAnim(Context context) { 
     super(context); 
     ball = BitmapFactory.decodeResource(getResources(), R.drawable.globe); 
     x=0; 
     y=0; 
    } 

    public void onDraw(Canvas canvas){ 
     super.onDraw(canvas); 

     Rect ourRect = new Rect(); 
     ourRect.set(0,0,canvas.getWidth(),canvas.getHeight()/2); 

     Paint red = new Paint(); 
     red.setColor(Color.RED); 
     red.setStyle(Paint.Style.FILL); 
     canvas.drawRect(ourRect,red); 

     if(x < canvas.getWidth()) { 
      x += 10; 
     } else{ 
      x =0; 
     } 
     if(y < canvas.getHeight()){ 
      y+=10; 
     }else{ 
      y =0; 
     } 

     Paint p = new Paint(); 
     canvas.drawBitmap(ball,x,y,p); 
     invalidate(); 
    } 
} 

答えて

0

あなたはViewを拡張しましたので、実行時にプログラムで追加するか、レイアウトで使用するなど、他のビューと同様に使用する必要があります。

+0

実行時にプログラムでプログラムを追加するとどういう意味ですか?あなたは私にいくつかの例のおかげを与えることができます – user7062312

+0

このボタンの追加方法:http://stackoverflow.com/a/4924755/360211、既存のコンテナを見つけて '.addView'を呼び出すのですが、レイアウトXMLに追加することをお勧めします。パッケージを教えてくださいそれが入っていると私はあなたがそれを行う方法をお勧めします。 – weston

+0

ボタンを追加したくありません。私はMainActivtyが私のスプラッシュ画面であることを忘れていました。私はボタンを押さずにこのアニメーションを作成しようとしています。 – user7062312

0

コードにビューを追加する方法は次のとおりです。 activityonCreateメソッドに次の手順を追加する必要があります。

  1. LinearLayout linearLayout = findViewById(R.id.linearlayout);のようなもの(それはもちろん、あなたのレイアウトやレイアウト-IDに変更することがあります)
  2. DrawAnim
  3. のインスタンスを作成し、ビューはコード内に追加されるレイアウトを取得します。
  4. レイアウトに追加するlinearLayout.addView(drawAnim);

これはアイデアを提供し、役立ちます。

ここにはlink to an animated splashscreenと、very simple splashscreenへのリンクがあり、ビューを追加するためのいくつかの選択肢が示されています。 2番目のものは非常に限られていますが、少しアニメーションがあり、アプリの開始を遅らせることはありません。

0

他のビューのように追加し、カスタムビューコンストラクタにコンテキストを渡し、レイアウトパラメータを設定して親ビューグループに追加する必要があります。

DrawAnim draw = new DrawAnim(this); // 'this' as a context in activity 
draw.setLayoutParams(layoutParams); 
parentViewGroup.addView(draw); 
関連する問題