2011-09-21 54 views
5

私はすでにリニアレイアウトに子供が配置されています。子供がいる場所を変更する方法はありますか?線形レイアウトでビューの位置を変更するにはどうすればよいですか?

私はそれらの間のビューにスワップしようとしています。

final LinearLayout parrent = (LinearLayout)findViewById(R.id.llWidgetScreen); 
    final LinearLayout Delailah = new LinearLayout(this); 
    Delailah.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT)); 
    AppWidgetHostView wedgy = attachWidget(mAppWidgetHost.createView(this, appWidgetId, appWidgetInfo)); 
    Delailah.addView(wedgy); 
    final Button btn = new Button(this); 
    btn.setLayoutParams(new android.widget.LinearLayout.LayoutParams((int)(20*scale +0.5f), android.view.ViewGroup.LayoutParams.FILL_PARENT, 0f)); 
    btn.setOnLongClickListener(new OnLongClickListener() { 

     @Override 
     public boolean onLongClick(View v) { 
      parrent.removeView(Delailah); 
      return false; 
     } 
    }); 
    btn.setBackgroundColor(mainColor); 
    btn.setText(parrent.getChildCount()+1+""); 
    btn.setTextColor(textColor); 
    btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(ReadyForDrag==0) 
      { 
       btn.setBackgroundColor(actiColor); 
       ReadyForDrag++; 
       DragPosition1=Integer.parseInt(btn.getText().toString()); 
      } 
      else if(ReadyForDrag==1) 
      { 
       btn.setBackgroundColor(actiColor); 
       ReadyForDrag=0; 
       LinearLayout v1 = (LinearLayout)parrent.getChildAt(DragPosition1); 
       LinearLayout v2 = (LinearLayout)parrent.getChildAt(Integer.parseInt(btn.getText().toString())); 
       //move view 2 to position 1 
       //move view 1 to position 2 
      }    
     } 
    }); 
    Delailah.addView(btn); 
    parrent.addView(Delailah); 
+0

使用しているコードを表示してください –

答えて

関連する問題