0

私の問題は小さいと思いますが、解決策が見つかりません。WEBページの作成に役立つアプリケーションを作ろうとしていますが、グラフィック要素を画面に配置するアプリケーションを作りたいと思っています。

描画可能な四角形の png 画像を作成し、画面の好きな場所に配置できますが、新しいグラフィック/ビットマップを作成することはできません。

メニューDIVまたはiFrameを押したときに、新しいグラフィックオブジェクトを画面に配置するにはどうすればよいですか?

public class Objects extends View {
    private float X;
    private float Y;
    private Paint myPaint;
    final String C_DIV = "DIV";
    final String C_TABLE = "Table";
    final String C_IFRAME = "iFrame";
    final String C_LIST = "List";
    Canvas canvas;
    Bitmap divimg = BitmapFactory.decodeResource(getResources(), R.drawable.div);
    Bitmap iframeimg = BitmapFactory.decodeResource(getResources(), R.drawable.iframe);
    Bitmap img = null;
    String objectname = " ";

    public Objects(Context context) {
        super(context);
        myPaint = new Paint();
    }

    public void HTMLObjects(String object) {
        Log.d(object, "see");
        if (object.equals(C_DIV)) {
            myPaint.setColor(Color.GREEN);
            img = Bitmap.createBitmap(divimg);
            objectname = "DIV";
        }
        if (object.equals(C_IFRAME)) {
            myPaint.setColor(Color.BLUE);
            img = Bitmap.createBitmap(iframeimg);
            objectname = "iFrame";
        }
    }

    public boolean onTouchEvent(MotionEvent event) {
        int action = event.getAction();
        switch (action) {
            case MotionEvent.ACTION_DOWN:
                X = (int) event.getX();
                Y = (int) event.getY();
                break;
            case MotionEvent.ACTION_MOVE:
            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_CANCEL:
                X = (int) event.getX();
                Y = (int) event.getY();
                break;
        }
        return true;
    }

    public void onDraw(Canvas canvas) {
        if (img != null) {

            canvas.drawBitmap(img, X - 50, Y - 50, myPaint);
            canvas.drawText(objectname, X, Y - 50, myPaint);
        }
        invalidate();
    }
}

これは、アクティビティワークスペースから呼び出しているクラスです

ob.HTMLObjects((String) item.getTitle());

どのメニューが押されているかの情報を送信しています。

DIV または iFrame を押したときに、新しい/別のオブジェクト/ビットマップを作成する方法がわかりません。

4

1 に答える 1