2017-06-29 5 views
0

私は既に画像編集用のアプリを開発しました。これで、Whatsappステータス、Instagramなどと同じように、画像にテキストを追加する機能が追加されました。 テキストの編集を使用してテキストを追加しますが、 。 EditTextはどのように動かせるのですか?ドラッグ&ドロップでEditTextを動かすことは可能ですか?

public void editIntent() 
{ 
    RelativeLayout.LayoutParams params = new 
    RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
    RelativeLayout.LayoutParams.WRAP_CONTENT); 

    EditText et = new EditText(this); 
    et.setHint("Add a caption.."); 

    rl.addView(et); 
} 

RL相対レイアウトのオブジェクト

+0

あなたはこのためにしようとしていますか?ここでいくつかのコードを追加してください。 –

+0

いいえまだ私はいませんが、私はこれを行うつもりです(私はコードを追加して質問を編集しました)。今、私は自分の編集テキストを移動可能にし、そのコメントとともに画像を保存することができることを知りたい。 –

答えて

0

は、ソリューション以下を試してみてくださいされています

android: move a view on touch move (ACTION_MOVE)

public class MyActivity extends Activity implements View.OnTouchListener { 

TextView _view; 
ViewGroup _root; 
private int _xDelta; 
private int _yDelta; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    _root = (ViewGroup)findViewById(R.id.root); 

    _view = new TextView(this); 
    _view.setText("TextView!!!!!!!!"); 

    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(150, 50); 
    layoutParams.leftMargin = 50; 
    layoutParams.topMargin = 50; 
    layoutParams.bottomMargin = -250; 
    layoutParams.rightMargin = -250; 
    _view.setLayoutParams(layoutParams); 

    _view.setOnTouchListener(this); 
    _root.addView(_view); 
} 

public boolean onTouch(View view, MotionEvent event) { 
    final int X = (int) event.getRawX(); 
    final int Y = (int) event.getRawY(); 
    switch (event.getAction() & MotionEvent.ACTION_MASK) { 
     case MotionEvent.ACTION_DOWN: 
      RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams(); 
      _xDelta = X - lParams.leftMargin; 
      _yDelta = Y - lParams.topMargin; 
      break; 
     case MotionEvent.ACTION_UP: 
      break; 
     case MotionEvent.ACTION_POINTER_DOWN: 
      break; 
     case MotionEvent.ACTION_POINTER_UP: 
      break; 
     case MotionEvent.ACTION_MOVE: 
      RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view.getLayoutParams(); 
      layoutParams.leftMargin = X - _xDelta; 
      layoutParams.topMargin = Y - _yDelta; 
      layoutParams.rightMargin = -250; 
      layoutParams.bottomMargin = -250; 
      view.setLayoutParams(layoutParams); 
      break; 
    } 
    _root.invalidate(); 
    return true; 
}} 
+0

私はそのコードを試しましたが、うまくいきませんでした。 –

関連する問題