1

私は、ユーザーが表示された画像に任意のテキストを描画できるようにするためにmeeを必要とするアプリを開発しています。
Webを検索するための正しい用語を取得できません。センシングと呼んだり、タッチイベントと呼んだり、ジェスチャーアプリケーションと呼んだりする必要があります。
正確には、ユーザーが画像に何かを落書きしたり、何かを描いたりできるようにしたいのです。
キャンバスやオーバーレイ要素を使用できるようなアイデアはほとんどありませんが、具体的なものはありません。

PS:
私はターゲットとしてアンドロイド2.2を使用しています。
私はAndroid開発に不慣れです。
助けてください !

4

1 に答える 1

0

私自身の最初の質問によく答えます:)実際、私は直接解決策にたどり着くことができませんでした-しかし、少なくとも2つの方法を見つけました。

  1. 2つのimageviewを撮ることができます。1番目のImageview(imageview1として参照)を画像ソースに割り当ててから、2番目のImageview(imageview2として参照)をimageview1に配置し、画面全体をカバーするようにします(親を塗りつぶします-高さと幅の両方)。
    .javaファイルで、imageview2.setOnTouchListener(this);必要に応じてonLoad()メソッドを割り当ててオーバーライドします。例えば。

    `public boolean onTouch(View v、MotionEvent event){

    int action = event.getAction();
    switch (action) {
    case MotionEvent.ACTION_DOWN:
    
        oldx = downx = event.getX();
        oldy = downy = event.getY();            
        break;
    
    case MotionEvent.ACTION_MOVE:
    
        downx = event.getX();
        downy = event.getY();
    
        canvas.drawLine(oldx, oldy, downx, downy, paint);
        imgvw.invalidate();
    
        oldx = downx ;
        oldy = downy ;          
        break;
    
    case MotionEvent.ACTION_UP:
        upx = event.getX();
        upy = event.getY();
    
        canvas.drawLine(oldx, oldy, upx, upy, paint);
        imgvw.invalidate();
    
        break;
    case MotionEvent.ACTION_CANCEL:
                     // SOME CODE THAT YOU WANNA USE 
        break;
    default:
        break;
    }
    return true;
    

    } `

ペイントペイント=newPaint();

paint.setColor(Color.GREEN);

これはimageview2に描画するのに役立ちますが、imageview1に描画されているように見えます:)

  1. 2番目のメソッドは非常に簡単です-ImageViewを拡張する新しいクラス(cal it MyImageview)を作成します。ここで、アクティビティクラスで、MyImageViewのオブジェクトを作成し、setContentView(myImageView(this)) をアタッチしてsetOnTouchListener(this);、上記で指定したようにonTouchメソッドを実装します。これは正常に機能します。
于 2012-12-13T11:18:52.390 に答える