2016-06-23 13 views
0

私は目的のために相対レイアウトを使用しています。私は、特定の位置に移動し、画像を移動するときに背景画像を変更する必要があります。レイアウトを動かす(ドラッグする)ときに私は動くビューにアクセスして背景を変更することはできません。Android onDrag移動時に動くビューの背景を変更する方法

ありがとうございました。あなたは、そのためのコードの下に

case DragEvent.ACTION_DRAG_STARTED: 
      ((RelativeLayout) v).setBackgroundColor(Color.RED); 
      break; 

を使用して、必要な場合は、再び変更することができますACTION_DROPでき

class MyDragListener implements OnDragListener { 

    @Override 
    public boolean onDrag(View v, DragEvent event) { 
     int action = event.getAction(); 
     switch (event.getAction()) { 
      case DragEvent.ACTION_DRAG_STARTED: 
       // do nothing 
       break; 
      case DragEvent.ACTION_DRAG_ENTERED: 

       break; 
      case DragEvent.ACTION_DRAG_EXITED: 

       break; 
      case DragEvent.ACTION_DRAG_LOCATION: 
       //come here when moving view 
       break; 
      case DragEvent.ACTION_DROP: 

       View view = (View) event.getLocalState(); 
       ViewGroup owner = (ViewGroup) view.getParent(); 
       owner.removeView(view); 
       RelativeLayout container = (RelativeLayout) v; 
       container.addView(view); 
       view.setVisibility(View.VISIBLE); 
       break; 
      case DragEvent.ACTION_DRAG_ENDED: 

      default: 
       break; 
     } 
     return true; 
    } 
} 

答えて

0

+0

お返事ありがとうございますreply.iはこのコードを試しました。しかし、ドラッグレイアウトの背景を変更していない。親ビューの背景を赤に変更しました。 – Nuke

+0

あなたは背景色を変更するために必要なものを別のビューで変更します – Vickyexpert

+0

私はview.iをドロップすると、それをドラッグするとビューの背景を変更する必要があります。それはできますか? – Nuke

関連する問題