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);
使用しているコードを表示してください –